Olá, Izabela, como vai?
No seu código, o try-except
está dentro do for
. Como a lista está vazia, o laço nunca é executado, e por isso o ZeroDivisionError
não acontece. A divisão por zero ocorre no momento em que você tenta usar len(lista)
com a lista vazia, mas como o laço não inicia, esse trecho nunca roda.
Uma forma de resolver é colocar o cálculo da média fora do for
. Por exemplo:
lista = []
try:
media = sum(lista) / len(lista)
except ZeroDivisionError:
print("A lista está vazia!")
media = 0
print(media)
print("Tamanho da lista:", len(lista))
Assim, a divisão acontece de uma vez só e, se a lista estiver vazia, o except
será executado corretamente.
Espero ter ajudado.
Siga firme nos seus estudos e conte com o fórum sempre que precisar.
Abraços :)
Caso este post tenha lhe ajudado, por favor, marcar como solucionado