[2,0] 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 (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 o contador.

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

Exercícios relacionados