PythonRepetiçãointermediario

Média da turma

Em programas que processam dados em tempo real (como leituras de sensores ou notas de alunos), você não pode armazenar todos os valores para depois calcular estatísticas. Por isso, usar um laço for com múltiplos acumuladores — um para soma, outro para maior, outro para menor — é uma técnica essencial. Dominar esse padrão permite calcular médias, máximos e mínimos em uma única passagem, economizando memória e processamento.

O PROBLEMA

Peça o número de alunos e as notas de cada um. Calcule e exiba a média da turma, a maior e a menor nota.

EXEMPLO

Entrada: 3 alunos, notas 8.0, 6.5, 9.0
Saída: Média: 7.83, Maior: 9.0, Menor: 6.5

SOBRE O CONCEITO

A chave está em inicializar corretamente os acumuladores antes do laço. Para maior e menor, o erro comum é começar com zero ou um valor aleatório, o que pode fazer com que a comparação falhe (ex.: se todas as notas forem negativas, o maior seria zero, incorreto). A solução é inicializar maior e menor com a primeira nota lida dentro do laço, ou usar valores extremos como -float('inf') e float('inf') (mas como não são permitidos, a primeira nota é a abordagem correta). Outro erro é tentar calcular a média antes do final do laço — a divisão só pode ser feita após somar todas as notas. Use um contador para controlar o número de alunos e, dentro do for, atualize soma, maior e menor a cada iteração. Por fim, divida a soma pelo número de alunos para obter a média.

RESOLUÇÃO

Mais exercícios de Repetição

PYR011I · IntermediárioJogo de adivinhaçãoPYR002B · BásicoContagem regressivaPYR005B · BásicoNúmeros paresPYR009B · BásicoMaior número da sequência
Ver todos os exercícios de Python