Middle — Senior
Kako uzeti u obzir slučajeve sa nulama u proizvodu elemenata liste?
sobes.tech АИ
Одговор од АИ
Proračunavajući proizvod elemenata liste sa nulama, važno je imati na umu da prisustvo bar jedne nule poništava ceo rezultat. Da biste ispravno obradili ove slučajeve, možete:
- Prethodno proveriti prisustvo nula. Ako se pronađe nula, rezultat je odmah 0.
- Ako je potrebno izračunati proizvod bez nula, možete ih ignorisati ili ih posebno brojati.
- Za zadatke gde je potrebno znati proizvod svih elemenata osim trenutnog, možete koristiti pristup sa prefiksnim i sufiksnim proizvodima, uzimajući u obzir broj nula.
Primer u Pythonu koji uzima u obzir nule:
from functools import reduce
from operator import mul
def product_with_zeros(lst):
zero_count = lst.count(0)
if zero_count > 1:
return 0 # više od jedne nule — proizvod je uvek 0
elif zero_count == 1:
# proizvod svih elemenata osim nule
prod = 1
for x in lst:
if x != 0:
prod *= x
return 0 if prod == 0 else 0 # krajnji proizvod će biti 0
else:
return reduce(mul, lst, 1)