Exemplo de Solução
Veja abaixo uma das maneiras de resolver esse problema. Essa não é a única solução possível.
"""
Autor: Irmão Burton
Objetivo: Praticar o uso de números em listas.
"""
# Por favor, observe que para este programa em especial, existem MUITAS maneiras de realizar a tarefa.
# O exemplo a seguir mostra uma maneira de fazer isso, mas não é a única. Em particular,
# muitas dessas tarefas podem ser feitas com funções embutidas (como max(numeros)),
# mas essa abordagem destaca como calcular esses valores diretamente com loops.
print("Digite a lista de números. Digite 0 quando tiver terminado.")
numeros = []
numero = -1
while numero != 0:
numero = int(input("Digite um número: "))
if numero != 0:
numeros.append(numero)
# Agora a lista "numeros" tem todos os valores que o usuário digitou
# Passo 1: Obtenha a soma (total)
soma = 0
for numero in numeros:
soma += numero
print(f"A soma é: {soma}")
# Passo 2: Obtenha a média
# podemos usar o valor da soma que acabamos de calcular...
quantidade = len(numeros)
media = soma / quantidade
print(f"A média é: {media}")
# Passo 3: Obtenha o maior número
# Vamos percorrer os números novamente, desta vez acompanhando
# o maior número até o momento.
maior_ate_agora = -1
for numero in numeros:
# Verifique se este número é maior que o anterior
if numero > maior_ate_agora:
# Este é o maior número até o momento, então atribua ele à variável
maior_ate_agora = numero
print(f"O maior número é : {maior_ate_agora}")
########################
# Desafios Adicionais
########################
# Desafio Adicional 1: Encontrar o menor número positivo:
# Precisamos começar com um número grande
menor_ate_agora = 99999999999
# Observação: Se quiséssemos ser mais precisos aqui, em vez de começar com um número grande
# como acima, deveríamos percorrer a lista até encontrar um número positivo
# e usar esse como o menor_ate_agora. Estou usando essa abordagem porque é
# mais simples de visualizar e entender, mas e se a lista não tivesse números positivos?
# E se não houvesse nenhum valor menor do que o número grande que escolhi? Esses seriam problemas
# que seriam resolvidos pela abordagem mencionada.
for numero in numeros:
if numero > 0 and numero < menor_ate_agora:
# Temos um novo número menor
menor_ate_agora = numero
print(f"O menor número positivo é: {menor_ate_agora}")
# Desafio Adicional 2: Ordenando a lista
lista_ordenada = sorted(numeros)
print("A lista ordenada é:")
for numero in lista_ordenada:
print(numero)