Foto de Luciano F.
Luciano há 1 ano
Enviada pelo
Site

Programa phyton classe de alunos

Crie uma classe representando os alunos de um curso. A classe deve conter os atributos matrícula do aluno, nome, nota da primeira e da segunda prova. Crie métodos para acessar o nome e a média do aluno.

a) Permita ao usuário entrar com os dados de 3 alunos;

b) encontre o aluno com maior média geral.

c) encontre o aluno com menor média geral.

d) para cada aluno diga se ele foi aprovado ou reprovado, considerando nota 6 para aprovação.

 

 

7 respostas
Professor Andre R.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
Contatar Andre

isso se encaixa melhor em tarefas.
Anuncia lá que alguém pode fazer por vc por um preço .
Qualquer coisa também pode entrar em contato cmg e te ensino a fazer em uma aula.

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Tire dúvidas com IA
Resposta na hora da Minerva IA
Enviar dúvida
Professor Johny L.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
Contatar Johny

Entra em contato comigo que eu resolvo pra ti.

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Professor Raphael V.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
Contatar Raphael

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

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Professor Jhonni S.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
Contatar Jhonni

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"

# a) Permita ao usuário entrar com os dados de 3 alunos
alunos = []
for i in range(3):
    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)

# b) Encontre o aluno com maior média geral
aluno_maior_media = max(alunos, key=lambda aluno: aluno.calcular_media())

# c) Encontre o aluno com menor média geral
aluno_menor_media = min(alunos, key=lambda aluno: aluno.calcular_media())

# d) 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 maior média
print(f"\nAluno com maior média geral: {aluno_maior_media.nome}")

# Exibir o aluno com menor média
print(f"Aluno com menor média geral: {aluno_menor_media.nome}")

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Professor Amador R.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
Contatar Amador
Aqui está um exemplo de como você pode criar uma classe em Python para representar os alunos de um curso, seguindo os requisitos especificados:
 
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"

# a) Permitir ao usuário entrar com os dados de 3 alunos
alunos = []
for i in range(3):
    print(f"Digite os dados do aluno {i+1}:")
    matricula = input("Matrícula: ")
    nome = input("Nome: ")
    nota1 = float(input("Nota da primeira prova: "))
    nota2 = float(input("Nota da segunda prova: "))
    aluno = Aluno(matricula, nome, nota1, nota2)
    alunos.append(aluno)

# b) Encontrar o aluno com maior média geral
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()}")

# c) Encontrar o aluno com menor média geral
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()}")

# d) Para cada aluno, dizer se ele foi aprovado ou reprovado
for aluno in alunos:
    print(f"{aluno.get_nome()} - Média: {aluno.media()} - {aluno.status()}")
 
 

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Professor Mauricio C.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 10 meses
Contatar Mauricio

class Aluno:
    def __init__(self, matricula, nome, nota1, nota2):
        self.matricula = matricula
        self.nome = nome
        self.nota1 = nota1
        self.nota2 = nota2
    
    def calcular_media(self):
        return (self.nota1 + self.nota2) / 2
    
    def verificar_aprovacao(self):
        media = self.calcular_media()
        if media >= 6:
            return "Aprovado"
        else:
            return "Reprovado"

# Função para encontrar aluno com maior média geral
def encontrar_maior_media(alunos):
    maior_media = -1
    aluno_maior_media = None
    for aluno in alunos:
        media = aluno.calcular_media()
        if media > maior_media:
            maior_media = media
            aluno_maior_media = aluno
    return aluno_maior_media

# Função para encontrar aluno com menor média geral
def encontrar_menor_media(alunos):
    menor_media = float('inf')
    aluno_menor_media = None
    for aluno in alunos:
        media = aluno.calcular_media()
        if media < menor_media:
            menor_media = media
            aluno_menor_media = aluno
    return aluno_menor_media

# Entrada de dados
alunos = []
for i in range(3):
    print(f"Informações do aluno {i+1}:")
    matricula = input("Matrícula: ")
    nome = input("Nome: ")
    nota1 = float(input("Nota da primeira prova: "))
    nota2 = float(input("Nota da segunda prova: "))
    alunos.append(Aluno(matricula, nome, nota1, nota2))

# Encontrar aluno com maior média
aluno_maior_media = encontrar_maior_media(alunos)
print(f"\nAluno com maior média geral:")
print(f"Nome: {aluno_maior_media.nome}")
print(f"Média: {aluno_maior_media.calcular_media()}")
print(f"Situação: {aluno_maior_media.verificar_aprovacao()}")

# Encontrar aluno com menor média
aluno_menor_media = encontrar_menor_media(alunos)
print(f"\nAluno com menor média geral:")
print(f"Nome: {aluno_menor_media.nome}")
print(f"Média: {aluno_menor_media.calcular_media()}")
print(f"Situação: {aluno_menor_media.verificar_aprovacao()}")

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Professora Thalita S.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 5 meses
Contatar Thalita

Aqui está uma solução em Python para o exercício proposto, onde criamos uma classe **Aluno** que possui os atributos de matrícula, nome, nota da primeira e da segunda prova. Implementamos métodos para acessar o nome e calcular a média, além de permitir que o usuário insira os dados de 3 alunos, encontrar os alunos com maior e menor média e informar se cada aluno foi aprovado ou reprovado.

### Código:

```python
class Aluno:
    def __init__(self, matricula, nome, nota1, nota2):
        self.matricula = matricula  # Matrícula do aluno
        self.nome = nome  # Nome do aluno
        self.nota1 = nota1  # Nota da primeira prova
        self.nota2 = nota2  # Nota da segunda prova

    # Método para acessar o nome do aluno
    def obter_nome(self):
        return self.nome

    # Método para calcular e retornar a média do aluno
    def calcular_media(self):
        return (self.nota1 + self.nota2) / 2

    # Método para verificar se o aluno foi aprovado
    def aprovado(self):
        return self.calcular_media() >= 6

# Função para receber os dados dos alunos
def cadastrar_alunos():
    alunos = []
    for i in range(3):
        print(f"Cadastro do Aluno {i + 1}:")
        matricula = input("Digite a matrícula: ")
        nome = input("Digite o nome do aluno: ")
        nota1 = float(input("Digite a nota da primeira prova: "))
        nota2 = float(input("Digite a nota da segunda prova: "))
        aluno = Aluno(matricula, nome, nota1, nota2)
        alunos.append(aluno)
    return alunos

# Função para encontrar o aluno com a maior média
def aluno_maior_media(alunos):
    aluno_maior = alunos[0]
    for aluno in alunos:
        if aluno.calcular_media() > aluno_maior.calcular_media():
            aluno_maior = aluno
    return aluno_maior

# Função para encontrar o aluno com a menor média
def aluno_menor_media(alunos):
    aluno_menor = alunos[0]
    for aluno in alunos:
        if aluno.calcular_media() < aluno_menor.calcular_media():
            aluno_menor = aluno
    return aluno_menor

# Função principal para rodar o programa
def main():
    # Cadastro de 3 alunos
    alunos = cadastrar_alunos()

    # Encontrando o aluno com a maior média
    aluno_maior = aluno_maior_media(alunos)
    print(f"\nAluno com maior média: {aluno_maior.obter_nome()} - Média: {aluno_maior.calcular_media()}")

    # Encontrando o aluno com a menor média
    aluno_menor = aluno_menor_media(alunos)
    print(f"Aluno com menor média: {aluno_menor.obter_nome()} - Média: {aluno_menor.calcular_media()}")

    # Verificando aprovação de cada aluno
    for aluno in alunos:
        media = aluno.calcular_media()
        status = "Aprovado" if aluno.aprovado() else "Reprovado"
        print(f"\nAluno: {aluno.obter_nome()} - Média: {media} - Status: {status}")

if __name__ == "__main__":
    main()
```

### Explicação do Código:

1. **Classe Aluno**:
   - **Atributos**: `matricula`, `nome`, `nota1`, `nota2`.
   - **Métodos**:
     - `obter_nome()`: Retorna o nome do aluno.
     - `calcular_media()`: Calcula e retorna a média das notas (média das duas provas).
     - `aprovado()`: Retorna **True** se a média for maior ou igual a 6, indicando que o aluno foi aprovado.

2. **Funções**:
   - `cadastrar_alunos()`: Coleta os dados de 3 alunos via `input()` e os armazena em uma lista de objetos `Aluno`.
   - `aluno_maior_media()`: Encontra o aluno com a maior média.
   - `aluno_menor_media()`: Encontra o aluno com a menor média.

3. **Função Principal (`main()`)**:
   - Chama a função de cadastro, encontra o aluno com a maior e menor média e verifica a aprovação de cada aluno, exibindo os resultados no console.

### Exemplo de Execução:

**Entrada**:
```
Cadastro do Aluno 1:
Digite a matrícula: 12345
Digite o nome do aluno: João Silva
Digite a nota da primeira prova: 7.0
Digite a nota da segunda prova: 8.0

Cadastro do Aluno 2:
Digite a matrícula: 67890
Digite o nome do aluno: Maria Oliveira
Digite a nota da primeira prova: 5.5
Digite a nota da segunda prova: 6.0

Cadastro do Aluno 3:
Digite a matrícula: 11223
Digite o nome do aluno: José Santos
Digite a nota da primeira prova: 6.0
Digite a nota da segunda prova: 7.0
```

**Saída**:
```
Aluno com maior média: João Silva - Média: 7.5
Aluno com menor média: Maria Oliveira - Média: 5.75

Aluno: João Silva - Média: 7.5 - Status: Aprovado
Aluno: Maria Oliveira - Média: 5.75 - Status: Reprovado
Aluno: José Santos - Média: 6.5 - Status: Aprovado
```

### Observações:
- O programa usa **entrada de dados** para registrar 3 alunos, calculando suas médias e avaliando sua aprovação com base na nota mínima de 6.
- A função `aprovado()` simplifica a verificação da aprovação do aluno.

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Minerva IA
do Profes
Respostas na hora
100% no WhatsApp
Envie suas dúvidas pelo App. Baixe agora
Prefere professores para aulas particulares ou resolução de atividades?
Aulas particulares
Encontre um professor para combinar e agendar aulas particulares Buscar professor
Tarefas
Envie sua atividade, anexe os arquivos e receba ofertas dos professores Enviar tarefa