Middle — Senior
Bir listenin elemanlarının çarpımında sıfır durumlarını nasıl dikkate alırsınız?
sobes.tech yapay zeka
AI'dan gelen yanıt
Sıfır içeren bir listenin elemanlarının çarpımını hesaplarken, en az bir sıfırın tüm sonucu sıfırladığını unutmamak önemlidir. Bu durumları doğru şekilde ele almak için:
- Önceden sıfırların olup olmadığını kontrol edin. Eğer sıfır bulunursa, sonuç hemen 0 olur.
- Sıfır olmadan çarpım hesaplanması gerekiyorsa, sıfırları görmezden gelebilir veya ayrı ayrı sayabilirsiniz.
- Mevcut olmayan tüm elemanların çarpımını bilmek gereken görevler için, ön ek ve arka ek çarpımlar kullanabilir, sıfırların sayısını dikkate alabilirsiniz.
Sıfırları dikkate alan Python örneği:
from functools import reduce
from operator import mul
def product_with_zeros(lst):
zero_count = lst.count(0)
if zero_count > 1:
return 0 # birden fazla sıfır — çarpım her zaman 0
elif zero_count == 1:
# sıfır hariç tüm elemanların çarpımı
prod = 1
for x in lst:
if x != 0:
prod *= x
return 0 if prod == 0 else 0 # toplam çarpım 0 olacak
else:
return reduce(mul, lst, 1)