Estou com dúvida para fazer este algoritmo se alguém puder me ajudar:
Crie uma classe representando os alunos de um curso. A classe deve conter os atributos matrícula do aluno, nome, nota da primeira e segunda prova. Crie métodos para acessar o nome e a média do aluno.
- Permita ao usuário entrar com os dados de pelo menos 3 alunos
- Encontre o aluno com a maior Média geral.
- Encontre o aluno com a menor média geral.
- Para cada aluno diga se ele foi aprovado ou reprovado, considerando a nota 6 para aprovação.
Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.
Você não disse qual é a dúvida
Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.
Exemplo de resolução para estudo do uso de classes e lista de objetos com Python
class Aluno:
def __init__(self, matricula, nome, nota_prova1, nota_prova2):
self.matricula = matricula
self.nome = nome
self.nota_prova1 = nota_prova1
self.nota_prova2 = nota_prova2
def calcular_media(self):
return (self.nota_prova1 + self.nota_prova2) / 2
def status_aprovacao(self):
media = self.calcular_media()
return "Aprovado" if media >= 6 else "Reprovado"
# Permita ao usuário entrar com os dados de pelo menos 3 alunos
alunos = []
num_alunos = int(input("Digite o número de alunos: "))
for i in range(num_alunos):
matricula = input(f"Digite a matrícula do aluno {i + 1}: ")
nome = input(f"Digite o nome do aluno {i + 1}: ")
nota1 = float(input(f"Digite a nota da primeira prova do aluno {i + 1}: "))
nota2 = float(input(f"Digite a nota da segunda prova do aluno {i + 1}: "))
aluno = Aluno(matricula, nome, nota1, nota2)
alunos.append(aluno)
# Encontre o aluno com a maior média geral
aluno_maior_media = max(alunos, key=lambda aluno: aluno.calcular_media())
# Encontre o aluno com a menor média geral
aluno_menor_media = min(alunos, key=lambda aluno: aluno.calcular_media())
# Para cada aluno, diga se ele foi aprovado ou reprovado
for aluno in alunos:
print(f"\nAluno: {aluno.nome}")
print(f"Média: {aluno.calcular_media()}")
print(f"Status: {aluno.status_aprovacao()}")
# Exibir o aluno com a maior média
print(f"\nAluno com maior média geral: {aluno_maior_media.nome}")
# Exibir o aluno com a menor média
print(f"Aluno com menor média geral: {aluno_menor_media.nome}")
Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.