Advertisement
Rnery

Registro de alunos

Feb 12th, 2022 (edited)
656
1
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.84 KB | Source Code | 1 0
  1. class Aluno:
  2.     def __init__(self, nome, idade, sexo):
  3.         self.nome = nome
  4.         self.idade = idade
  5.         self.sexo = sexo.title()
  6.  
  7.  
  8. def mostrar_banner():
  9.     return """
  10.    ------------------------------
  11.    ----------- ALUNOS -----------
  12.    ------------------------------
  13.    """
  14.  
  15.  
  16. def filtrar_sexo(alunos, genero):
  17.     return [aluno for aluno in alunos if aluno.sexo == genero]
  18.  
  19.  
  20. def mostrar_alunos(alunos, lista_titulo):
  21.     if len(alunos):
  22.         lista_de_alunos = f'Lista dos {lista_titulo}'
  23.         print('-' * len(lista_de_alunos))
  24.         print(lista_de_alunos)
  25.         print(f'{"NOME":<15}{"IDADE":<10}{"SEXO":<10}')
  26.  
  27.         for aluno in alunos:
  28.             print(f'{aluno.nome:<15}{aluno.idade:<10}{aluno.sexo:<10}')
  29.  
  30.  
  31. alunos = []
  32.  
  33. print(mostrar_banner())
  34.  
  35. while True:
  36.     comando = input('\nInforme o comando (novo, consulta, lista, sair): ').upper()
  37.  
  38.     if comando == 'SAIR':
  39.         break
  40.  
  41.     if comando == 'NOVO':
  42.         nome = input('\nInforme o nome: ').title()
  43.         idade = int(input('Informe a idade: '))
  44.         sexo = input('Informe o sexo: ')
  45.         alunos.append(Aluno(nome, idade, sexo))
  46.  
  47.     if comando == 'CONSULTA':
  48.         nome_consulta = input('Informe o nome: ').title()
  49.         encontrado = next((aluno for aluno in alunos if aluno.nome == nome_consulta), None)
  50.         if encontrado:
  51.             print(f'\n{"NOME":<15}{"IDADE":<10}{"SEXO":<10}')
  52.             print(f'{encontrado.nome:<15}{encontrado.idade:<10}{encontrado.sexo:<10}')
  53.         else:
  54.             print('Não encontrado(a)')
  55.  
  56.     if comando == 'LISTA':
  57.         lista_alf = sorted(alunos, key=lambda x: x.nome)
  58.         feminino = filtrar_sexo(lista_alf, 'Feminino')
  59.         masculino = filtrar_sexo(lista_alf, 'Masculino')
  60.         mostrar_alunos(feminino, 'alunas')
  61.         mostrar_alunos(masculino, 'alunos')
  62.  
Tags: python3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement