Escreva uma função chamada calcular_media(lista) que receba uma lista de números inteiros positivos e retorne a média aritmética dos valores até o primeiro zero (inclusive, o zero não deve ser considerado no cálculo). A média deve considerar apenas os elementos anteriores ao primeiro zero. Se a lista começar com zero, a função deve retornar a mensagem “Lista inválida para cálculo.”.
Passo 1
O enunciado pede uma função em Python chamada
calcular_media(lista)
que receba uma lista de inteiros positivos e retorne a média aritmética dos elementos até o primeiro zero. O zero marca onde paramos, mas não entra no cálculo. Se o primeiro elemento for zero, a função deve devolver a mensagem "Lista inválida para cálculo."
.Passo 2
Verificar o caso em que a lista começa com zero (ou é vazia). Nesse cenário, não há elementos válidos antes do primeiro zero, então retornamos imediatamente a mensagem de lista inválida.
Inicializar duas variáveis: uma para acumular a soma (
Inicializar duas variáveis: uma para acumular a soma (
soma = 0
) e outra para contar quantos números foram somados (contador = 0
).Passo 3
Percorrer os elementos da lista em um laço
for
. A cada iteração:- Se o elemento for zero, usamos
break
para sair do laço. - Caso contrário, adicionamos o valor à
soma
e incrementamos ocontador
.
Passo 4
Após o laço, como garantimos que
contador > 0
(pois já cobrimos o caso de começar com zero), calculamos a média dividindo soma
por contador
e retornamos esse valor.Resposta
def \(calcular_media\)(lista):
if not lista or lista[0] \(==0\):
return "Lista inválida para cálculo."
soma \(=0\)
contador \(=0\)
for num in lista:
if num \(==0\):
break
soma \(+=\) num
contador \(+=1\)
return soma / contador