Sobes.tech
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)