(PYTHON) - Fonksiyondaki Değişkeni Daima Kaydetmek

Merhabalar, basit olarak anlatmak için değişkeni azaltan bir fonksiyon yazdım. Bu değişkenin daima azalmasını (9, 8, 7 şeklinde) istiyorum ancak sadece 9 çıktısını alıyorum.

a = 10
def reduce(number):
    number -= 1
    print(number)
    return number


while True:
    reduce(a)

Merhaba,

while döngüsünde sürekli çağırdığınız reduce(a) fonksiyonu, global alandaki a değişkeninin değerini değiştirmez, fonksiyonun number argümanını 1 birim azaltır ve değişiklik a'ya yansımaz.

Şöyle deneyin isterseniz:

a = 10


def reduce():
    global a
    a -= 1
    print(a)


while a:
     reduce()

Veya

a = 10


def reduce(number):
    number -= 1
    print(number)
    return number


while a:
    a = reduce(a)
2 Beğeni