Çok basit bir sorun ama nedenini çözemedim

örnek_1= [5,6,4,3,6]

for i in örnek_1:
    i!=0
    i*5
print(i)

çıktı olarak 6 veriyor nedeni nedir?

for döngüsünde i’nin son değeri 6 olduğu için 6 veriyor.

döngüde dedim ki bu listedeki her bir değer için , sıfıra eşit değilse 5 ile çarpıp yazdır. bu neden çalışmadı ve neden son değeri sadece yazdırıyor?

ardacım, 5 ile çarptıktan sonra ortaya bir sonuç çıkar. Sonucu bir değişkene atayıp döndürmelisin ya da doğrudan sonucu döndürmelisin.
Yani ya şöyle:

for i in örnek_1:
    if i!=0:
        print(i*5)

Ya şöyle:

for i in örnek_1:
    if i!=0:
        k=i*5
        print(k)

Zira bu durumda ya sadece listedeki sonuncuyu ya da komple listeyi döndürürsün.
Fakat bunları fonksiyon haline getirmeyi öğrenirsen, bütün sonuçları ille de döngüde elde etmezsin.
Tek ya da bir liste için yapabilirsin.
Yani şöyle:

örnek_1= [5,6,4,3,6]
def carp(x):
    k=[]
    for i in x:
        if i!=0:
            i*=5
            k.append(i)
    return k

    
print(carp(örnek_1))

Ya da daha kısa:

def carp(x):
    return [i * 5 for i in x if i != 0]
4 Beğeni

Açıklamalarla doldurdum işlemleri umarım faydam olur.

3 Beğeni

https://pythontutor.com/visualize.html#mode=edit

kodlarınızı görselleştirip inceleyebilirsiniz.

2 Beğeni