1
resposta

Duvida se o código está correto

Está 'correto' usar o try-except dessa forma ou teria outra forma mais 'adequada'

lista_numeros = [1,2,3,4,'a',5,6,7]
contador = 0
soma = 0
for index, numero in enumerate(lista_numeros):
  try:
    soma += numero
  except Exception as e:
    print(f'Ocorreu um erro: {e} na posição {index}')
    contador += 1
try:    
  print(f'A média dos numeros na lista é {soma/(len(lista_numeros) - contador)}')
except ZeroDivisionError:
    print('A lista está vazia não é possível calcular a média')

O primeiro lidaria com erros dentro da própria lista e o segundo no caso de ela estar vazia

1 resposta

Oi Breno! Como vai?

Parabéns pela solução do desafio! Você está no caminho certo. Seu código está bem próximo do que seria uma solução adequada para lidar com exceções ao somar elementos de uma lista e calcular a média.

Utilizar o try-except dentro do loop para lidar com elementos que não são números foi uma boa escolha, pois garante que o programa não pare de executar ao encontrar um erro. Entretanto, você utilizou uma exceção genéricaa. Isso funciona, mas é uma boa prática capturar as exceções específicas (explicitando TypeError, etc) para que o motivo do erro fique o mais claro possível para a pessoa usuária.

Continue praticando!

Abraços.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!