teste

Home   »   teste

# define função para repetição do cabeçalho da lista

def cabecalho():
    print(f'{"Nome":<20}{"Idade":<10}{"Telefone":<15}')

# Identificação do Aluno
print('RU do Aluno: 1559485.')

# laço de verificação
while True: 
    terminar = input('\nDeseja iniciar o cadastro telefônico? [S/N]: ') 
    if terminar.upper() in 'N': 
        print('Encerrando cadastro...') 
        break 
    if terminar.upper() not in 'S': 
        print('Digite S para SIM ou N para NÃO! \n') 
    break

contatos = list ()
menor18 = list ()
maior18 = list ()

while True: 
    nome = str(input('\n Digite o nome: '))
    if nome == '':
        break

    Idade = int(input('Digite a Idade (anos): '))
    Telefone = str(input('Digite o Telefone (xx-00000-0000): '))

    idade = [Idade]
    telefone = [Telefone]

    contato = {'Nome': nome, 'Idade': idade, 'Telefone': telefone}
    contatos.append(contato)

   
# classificando lista de contatos
contatos1 = sorted(contatos, key=lambda k: k['Nome'])

# imprimindo lista telefônica completa
print(' ')
print('--'*20)
print('Lista telefônica completa:')
cabecalho()

for a in contatos1:
    idade1 = ' ' .join ( [ str (n) for n in a ['Idade'] ] ) # removendo colchetes e adicionando espaços
    telefone1 = ' ' .join ( [ str (n) for n in a ['Telefone'] ] )
    print(f'{a["Nome"]:<20}{idade1:<10}{telefone1:<15}')

#até aqui está funcionando<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
for c in contatos1:
    if c['Idade'][0] < 18: 
        menor18.append(c.copy())
    else:
        maior18.append(c.copy())

# imprimindo lista telefônica maiores de 18 anos
print(' ')
print('Lista de contatos menores de 18 anos')
cabecalho()

for b in menor18:
    idade2 = ' ' .join ( [ str (n) for n in b ['Idade'] ] ) # removendo colchetes e adicionando espaços
    telefone2 = ' ' .join ( [ str (n) for n in b ['Telefone'] ] )
    print(f'{b["Nome"]:<20}{idade2:<10}{telefone2:<15}')

# imprimindo lista telefônica menores de 18 anos
print(' ')
print('Lista de contatos maiores de 18 anos')
cabecalho()

for b in maior18:
    idade2 = ' ' .join ( [ str (n) for n in b ['Idade'] ] ) # removendo colchetes e adicionando espaços
    telefone2 = ' ' .join ( [ str (n) for n in b ['Telefone'] ] )
    print(f'{b["Nome"]:<20}{idade2:<10}{telefone2:<15}')

Leave a Reply

Your email address will not be published. Required fields are marked *