Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Lista (List) |
Como criar uma List de Alunos, inserir novos alunos e listá-los usando um menu de opções - Exercícios Resolvidos de PythonQuantidade de visualizações: 794 vezes |
|
Pergunta/Tarefa: Escreva um programa Python contendo uma List de objetos da classe Aluno. Cada aluno deverá ter nome, idade e curso. Seu código deverá usar um menu com as opções de cadastrar novo aluno, listar todos os alunos e sair. Além disso, a classe Aluno deverá apresentar um construtor e usar encapsulamento de dados (variáveis de instância que podem ser acessadas somente dentro da classe na qual elas são declaradas). Sua saída deverá ser parecida com: 1. Cadastrar Novo Aluno 2. Listar Todos os Alunos 3. Sair Sua opção: 1 Nome do aluno: OSMAR J SILVA Idade do aluno: 43 Curso do aluno: ENGENHARIA CIVIL Aluno cadastrado com sucesso. 1. Cadastrar Novo Aluno 2. Listar Todos os Alunos 3. Sair Sua opção: Veja a resolução comentada deste exercício em Python: Vamos começar com o código para a classe Aluno, no arquivo aluno.py: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
# definição da classe Aluno
class Aluno:
# método construtor com argumentos
def __init__(self, nome, idade, curso):
self.__nome = nome
self.__idade = idade
self.__curso = curso
# retorna o nome do aluno
def get_nome(self):
return self.__nome
# retorna a idade do aluno
def get_idade(self):
return self.__idade
# retorna o curso do aluno
def get_curso(self):
return self.__curso
Note que eu forneci apenas os métodos para ler os valores das variáveis. Como o exercício não pede, deixei os métodos mutatórios para outra ocasião. Na minha implementação, se o usuário tentar acessar a variável nome diretamente, sem passar pelo método acessório, o seguinte erro será exibido: AttributeError: 'Aluno' object has no attribute '__nome' Agora veja o código para o arquivo principal, que chamei de estudos.py: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
# vamos importar a classe Aluno
from aluno import Aluno
# função principal do programa
def main():
# vamos declarar a lista de objetos da classe Aluno
alunos = []
# vamos criar o menu de opções
while True:
print("1. Cadastrar Novo Aluno")
print("2. Listar Todos os Alunos")
print("3. Sair")
opcao = int(input("Sua opção: "))
# cadastra um novo aluno
if opcao == 1:
# vamos pedir os dados do aluno
nome = input("\nNome do aluno: ")
idade = int(input("Idade do aluno: "))
curso = input("Curso do aluno: ")
# agora criamos uma nova instância da classe Aluno
aluno = Aluno(nome, idade, curso)
# a colocamos o aluno na ArrayList
alunos.append(aluno)
# para finalizar mostramos uma mensagem de sucesso.
print("\nAluno cadastrado com sucesso.\n")
# lista todos os alunos da List
elif opcao == 2:
print("\nListagem de alunos:\n")
# percorre todos os alunos no ArrayList
for i in range(len(alunos)):
print("Nome: {0}".format(alunos[i].get_nome()))
print("Idade: {0}".format(alunos[i].get_idade()))
print("Curso: {0}\n".format(alunos[i].get_curso()))
# sai do programa
elif opcao == 3:
print("\nObrigado por usar o programa.\n")
break
# opção inválide
else:
print("\nOpção inválida.\n")
if __name__== "__main__":
main()
Fiquei atento(a) à linha que importa a classe Aluno para dentro do arquivo principal. |
|
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






