Leia e armazene em um dicionário o nome, a idade e o número do telefone de seus contatos, sendo que a chave deve ser o nome. Ao digitar uma string vazia para o nome, o programa interrompe a leitura e se encerra. Apresente na tela os dados lidos em ordem alfabética pelo nome dos contatos. Uma possível solução de ordenar alfabeticamente é usar o método sort. Em seguida, armazene os contatos em outros dois dicionários, utilizando como critério a idade: menores de 18 anos em um e os maiores em outro dicionário, eliminando o original. Apresente na tela os dois dicionários resultantes da separação. Imprima na tela um teste do seu programa usando como primeiro cadastro o seu nome, como telefone o seu RU, e como idade os dois últimos dígitos do seu RU.
O que foi desenvolvido até então:
lista = []
list(lista)
dados = dict()
dadosm18 = dict()
lista18 = []
dados['nome'] = str(input('Nome: ')).title()
while dados['nome'] != '':
dados['idade'] = int(input('Idade: '))
dados['telefone'] = int(input('Telefone: '))
lista.append(dados.copy())
dados['nome'] = str(input('Nome: ')).title()
print(f'{"NOME":<15}{"IDADE":<10}{"TELEFONE":<10}')
for contatos in lista:
print(f'{contatos["nome"]:<15}{contatos["idade"]:<10}{contatos["telefone"]:<10}')
if dados['idade'] < 18:
lista18.append(dados.copy())
print('-='*60)
print('LISTA TELEFÔNICA COM DE MAIOR')
print(f'{"NOME":<15}{"IDADE":<10}{"TELEFONE":<10}')
for contatos1 in lista18:
print(f'{contatos1["nome"]:<15}{contatos1["idade"]:<10}{contatos1["telefone"]:<10}')
Só não estou conseguindo excluir os dados da primeira tabela e transferi-los para os outros dois dicionários, separando por maiores de 18 e menores e como ordenar por ordem alfabética. Se alguém souber de uma maneira para me ajudar a desenvolver eu fico agradecido.