Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Aluno:
- def __init__(self, nome, idade, sexo):
- self.nome = nome
- self.idade = idade
- self.sexo = sexo.title()
- def mostrar_banner():
- return """
- ------------------------------
- ----------- ALUNOS -----------
- ------------------------------
- """
- def filtrar_sexo(alunos, genero):
- return [aluno for aluno in alunos if aluno.sexo == genero]
- def mostrar_alunos(alunos, lista_titulo):
- if len(alunos):
- lista_de_alunos = f'Lista dos {lista_titulo}'
- print('-' * len(lista_de_alunos))
- print(lista_de_alunos)
- print(f'{"NOME":<15}{"IDADE":<10}{"SEXO":<10}')
- for aluno in alunos:
- print(f'{aluno.nome:<15}{aluno.idade:<10}{aluno.sexo:<10}')
- alunos = []
- print(mostrar_banner())
- while True:
- comando = input('\nInforme o comando (novo, consulta, lista, sair): ').upper()
- if comando == 'SAIR':
- break
- if comando == 'NOVO':
- nome = input('\nInforme o nome: ').title()
- idade = int(input('Informe a idade: '))
- sexo = input('Informe o sexo: ')
- alunos.append(Aluno(nome, idade, sexo))
- if comando == 'CONSULTA':
- nome_consulta = input('Informe o nome: ').title()
- encontrado = next((aluno for aluno in alunos if aluno.nome == nome_consulta), None)
- if encontrado:
- print(f'\n{"NOME":<15}{"IDADE":<10}{"SEXO":<10}')
- print(f'{encontrado.nome:<15}{encontrado.idade:<10}{encontrado.sexo:<10}')
- else:
- print('Não encontrado(a)')
- if comando == 'LISTA':
- lista_alf = sorted(alunos, key=lambda x: x.nome)
- feminino = filtrar_sexo(lista_alf, 'Feminino')
- masculino = filtrar_sexo(lista_alf, 'Masculino')
- mostrar_alunos(feminino, 'alunas')
- mostrar_alunos(masculino, 'alunos')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement