Modifique o programa (notas_lista.py) tal que depois de receber as notas dos alunos, calcular a média da turma, e mostrar a posição na lista e a nota dos alunos que ficaram de AF (
nota < 7).
Passo 1
Vamos dar uma olhada no que o exercício pede! Precisamos modificar um programa em Python que já recebe as notas dos alunos. Depois, temos que calcular a média da turma e mostrar a posição na lista junto com a nota dos alunos que ficaram na AF, ou seja, que tiraram notas entre 4 e 7 (incluindo 4 mas sem chegar a 7). Para fazer isso, vamos precisar usar listas para armazenar as notas, calcular a média e percorrer a lista para encontrar os alunos que estão nessa faixa de nota.
Passo 2
Primeiro, vamos garantir que o programa recebe as notas dos alunos e as armazena em uma lista. Supondo que o programa já faz isso, vamos verificar se as notas estão sendo coletadas corretamente.
Passo 3
Agora, precisamos calcular a média da turma. Para isso, somamos todas as notas e dividimos pelo número de alunos. A fórmula para a média (
) é:
Onde
são as notas dos alunos e
é o número total de alunos.
Passo 4
Depois de calcular a média, vamos percorrer a lista de notas para identificar quais alunos estão na faixa de AF, ou seja, com notas maiores ou iguais a 4 e menores que 7. Para cada aluno que atender a esse critério, vamos guardar a sua posição na lista e a sua nota.
Passo 5
Por fim, vamos exibir a média da turma e a lista de alunos que ficaram na AF com suas respectivas posições e notas. Isso vai ajudar a turma a saber como estão se saindo e quem precisa se esforçar mais para melhorar.
Passo 6
notas = []
num_alunos = int(input("Digite o número de alunos: "))
num_alunos = int(input("Digite o número de alunos: "))
for i in range(num_alunos):
nota = float(input(f"Digite a nota do aluno {i+1}: "))
notas.append(nota)
nota = float(input(f"Digite a nota do aluno {i+1}: "))
notas.append(nota)
Passo 7
soma = sum(notas)
media = soma / num_alunos
media = soma / num_alunos
Passo 8
af_alunos = []
for index, nota in enumerate(notas):
if 4 <= nota < 7:
af_alunos.append((index + 1, nota)) # posição na lista começa em 1
for index, nota in enumerate(notas):
if 4 <= nota < 7:
af_alunos.append((index + 1, nota)) # posição na lista começa em 1
Passo 9
print(f"\nA média da turma é: {media:.2f}")
if af_alunos:
print("\nAlunos que ficaram de AF:")
for aluno in af_alunos:
print(f"Posição: {aluno[0]}, Nota: {aluno[1]}")
else:
print("\nNenhum aluno ficou de AF.")
print("\nAlunos que ficaram de AF:")
for aluno in af_alunos:
print(f"Posição: {aluno[0]}, Nota: {aluno[1]}")
else:
print("\nNenhum aluno ficou de AF.")
Resposta
# notas_lista.py
Exercícios relacionados
Crie um programa que preencha uma matriz
( m e n entrados pelo usuário) e um vetor v de tamanho n e calcule e mostre o produto de A por v.
Faça um programa que preencha uma matriz 5 x 3 com as notas de 5 alunos em três provas. O programa deverá mostrar um relatório com o número dos 5 alunos e a prova em que cada aluno obteve menor nota. Ao final do relatório, deverá mostrar quantos alunos tiveram menor nota em cada uma das provas: na prova 1, na prova 2, na prova 3.
Modifique o programa (notas_lista.py) de modo a mostrar as notas digitadas ao final do programa (tente usar os dois modos)
Faça um programa que preencha uma matriz
e calcule e mostre o seu maior elemento