Criação de algoritmo notas de alunos em phiyton

Python Geral

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. 

Foto de Felipe K.
Felipe perguntou há 7 meses

Sabe a resposta?

Ganhe 10 pts por resposta de qualidade
Responder dúvida
5 respostas
0
votos
Nenhum usuário votou nessa resposta como útil.
Professor Andre R.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 7 meses

Você não disse qual é a dúvida

Envie uma dúvida gratuitamente

Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.

0
votos
Nenhum usuário votou nessa resposta como útil.
Professor Johny L.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 7 meses
entea em contato comigo que resolvo pra ti
0
votos
Nenhum usuário votou nessa resposta como útil.
Professor Raphael V.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 6 meses

Exemplo de resolução para estudo do uso de classes e lista de objetos com Python

 

#Classe Aluno
class Aluno:

    #Atributos
    #2 underscores __ em prefixo significa atributo PRIVADO,
    #isto é, só pode ser acessado pela própria classe
    __nome = ""
    __matricula = ""
    __nota_prova1 = 0
    __nota_prova2 = 0

    #Construtor (a função __init__ é chamada ao criar uma nova instância)
    def __init__(self, nome, matricula, nota_prova1, nota_prova2):
        self.__nome = nome
        self.__matricula = matricula
        self.__nota_prova1 = nota_prova1
        self.__nota_prova2 = nota_prova2

    #Métodos para acessar os atributos (somente leitura)
    def getNome(self):
        return self.__nome
   
    def getMatricula(self):
        return self.__matricula
   
    def getNotaProva1(self):
        return self.__nota_prova1
   
    def getNotaProva2(self):
        return self.__nota_prova2
   
    def getMedia(self):
        return (self.__nota_prova1 + self.__nota_prova2) / 2

    def toString(self):
        return "Nome: {0}\nMatricula: {1}\nProva 1: {2}\nProva 2: {3}\nMedia: {4}".format(self.__nome, self.__matricula, self.__nota_prova1, self.__nota_prova2, self.getMedia())

#Programa principal

#lista de alunos
alunos = []

#Loop para leitura de dados de 3 alunos
for i in range(0, 3):
    print("Entre com os dados do aluno {0}:".format(i + 1))
    nome = input("Nome: ")
    matricula = input("Matricula: ")
    nota_prova1 = float(input("Nota da 1a Prova: "))
    nota_prova2 = float(input("Nota da 2a Prova: "))

    #insere novo aluno na lista alunos
    alunos.append(Aluno(nome, matricula, nota_prova1, nota_prova2))
   

#Encontra o aluno com maior média
print("\n\n:: ALUNO COM MAIOR MEDIA:\n")

aluno_com_maior_media = alunos[0]
for aluno in alunos:
    if aluno.getMedia() > aluno_com_maior_media.getMedia():
        aluno_com_maior_media = aluno

print(aluno_com_maior_media.toString())

#Encontra o aluno com menor média
print("\n\n:: ALUNO COM MENOR MEDIA:\n")

aluno_com_menor_media = alunos[0]
for aluno in alunos:
    if aluno.getMedia() < aluno_com_menor_media.getMedia():
        aluno_com_menor_media = aluno

print(aluno_com_menor_media.toString())

#Verifica aprovação (média maior que 6)
print("\n\n:: VERIFICANDO APROVAÇÃO...\n")

for aluno in alunos:
    print(aluno.getNome())
    print("Matricula: {0}".format(aluno.getMatricula()))
    print("Media: {0}".format(aluno.getMedia()))
    if aluno.getMedia() >= 6:
        print("APROVADO")
    else:
        print("REPROVADO")

    print() #pula uma linha

Está precisando de Aulas Particulares?

Aqui no Profes você encontra os melhores professores particulares, presenciais ou online, para aulas de qualquer assunto!
0
votos
Nenhum usuário votou nessa resposta como útil.
Professor Jhonni S.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 3 meses

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}")

0
votos
Nenhum usuário votou nessa resposta como útil.
Professor Amador R.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 semana
class Aluno:
    def __init__(self, matricula, nome, nota1, nota2):
        self.matricula = matricula
        self.nome = nome
        self.nota1 = nota1
        self.nota2 = nota2
       
    def get_nome(self):
        return self.nome
   
    def media(self):
        return (self.nota1 + self.nota2) / 2
   
    def status(self):
        return "Aprovado" if self.media() >= 6 else "Reprovado"
   
alunos = []
for i in range(3):
    print(f'Digite os dados do aluno {i+1}:')
    matricula = input("Matricula: ")
    nome = input("Nome: ")
    nota1 = float(input("Nota da primeira prova: "))
    nota2 = float(input("Nota da segunda prova: "))
    aluno = Aluno(matricula, nome, nota1, nota2) # type: ignore
    alunos.append(aluno)
   
print("---------------------------------------------------------")    
   
aluno_maior_media = max(alunos, key=lambda aluno: aluno.media())
print(f'Aluno com maior média: {aluno_maior_media.get_nome()}, Média: {aluno_maior_media.media()}')

aluno_menor_media = min(alunos, key=lambda aluno: aluno.media())
print(f'Aluno com menor média: {aluno_menor_media.get_nome()}, Média: {aluno_menor_media.media()}')

for aluno in alunos:
    print(f'{aluno.get_nome()} - Média: {aluno.media()}, - {aluno.status()}')

Lista de exercícios, Documentos, Revisão de texto, trabalho?

Se seu problema for dificuldade em uma lista de exercícios, revisão de teses e dissertações, correção de textos ou outros trabalhos, peça uma ajuda pelo Tarefas Profes.

Professores particulares de Python

+ Ver todos
Encontre professor particular para te ajudar nos estudos
R$ 65 / h
Andre R.
São Paulo / SP
Andre R.
5,0 (5 avaliações)
Horas de aulas particulares ministradas 1 hora de aula
Tarefas resolvidas 3 tarefas resolvidas
Identidade verificada
  • CPF verificado
  • E-mail verificado
1ª hora grátis
Python - dicionário Python - funções Python - lista
Especialização: Angular (Loiane Groner)
Você vai aprender matemática,química ou programação nem que seja na base de oração.
R$ 60 / h
César D.
Mogi Guaçu / SP
César D.
4,9 (811 avaliações)
Horas de aulas particulares ministradas 87 horas de aula
Tarefas resolvidas 995 tarefas resolvidas
Identidade verificada
  • CPF verificado
  • E-mail verificado
1ª hora grátis
Programação em Python NumPy Programação em Python Básico Python - Geral
Graduação: Matemática Aplicada e Computacional (Universidade Estadual de Campinas (UNICAMP))
Faça aulas de matemática, computação e programação em c, c++, java e python.
R$ 120 / h
Johny L.
Fortaleza / CE
Johny L.
4,3 (36 avaliações)
Horas de aulas particulares ministradas 94 horas de aula
Tarefas resolvidas 29 tarefas resolvidas
Identidade verificada
  • CPF verificado
  • E-mail verificado
Python - Programação Orientada a Objetos Python - Avançado Python - Função
Graduação: Engenharia Civil (IFCE - Campus Fortaleza)
Professor da UFC - Aulas de estatística práticas e aplicadas ao mercado de trabalho além de acadêmico