Middle — Senior
Como considerar casos com zeros na multiplicação dos elementos de uma lista?
sobes.tech IA
Resposta da IA
Ao calcular o produto dos elementos de uma lista com zeros, é importante ter em mente que a presença de pelo menos um zero anula todo o resultado. Para lidar corretamente com esses casos, pode-se:
- Verificar a presença de zeros com antecedência. Se um zero for encontrado, o resultado é imediatamente 0.
- Se for necessário calcular o produto sem zeros, pode-se ignorar ou contar zeros separadamente.
- Para tarefas onde é necessário conhecer o produto de todos os elementos exceto o atual, pode-se usar uma abordagem com produtos prefixados e sufixados, considerando a quantidade de zeros.
Exemplo em Python que leva em conta zeros:
from functools import reduce
from operator import mul
def product_with_zeros(lst):
zero_count = lst.count(0)
if zero_count > 1:
return 0 # mais de um zero — o produto é sempre 0
elif zero_count == 1:
# produto de todos os elementos exceto o zero
prod = 1
for x in lst:
if x != 0:
prod *= x
return 0 if prod == 0 else 0 # o produto final será 0
else:
return reduce(mul, lst, 1)