"UnboundLocalError: local variable 'increasingNumber' referenced before assignment" hatası

def main(args):
    return 0

import tkinter as tk

window = tk.Tk()

increasingNumber = 0

fileName = f"newFile{increasingNumber}.txt"

def createFile():
    f = open(fileName, "w")
    f.close()
    increasingNumber += 1


btn_newFile_txt = tk.Label(window, text="You can press the New File button to create a new file.")
btn_newFile_txt.pack()

btn_newFile = tk.Button(window, text="New File", command=createFile())
btn_newFile.pack()

window.mainloop()

Bu kodu çalıştıdığmda “UnboundLocalError: local variable ‘increasingNumber’ referenced before assignment” hatası alıyorum. Çözümü nedir ?

createFile() fonksiyonunun ilk satırına global increasingNumber olarak ekleme yapın. Bu ekleme de global anahtar kelimesi, fonksiyon dışında tanımlanan increasingNumber değişkeninin fonksiyon içerisinde değişikliğe uğratmasına yarıyor. Eğer fonksiyon içinde böyle bir değişken tanımlasaydınız bunu yazmanıza gerek kalmayacaktı.

Şöyle global hakkında bilgiyi bırakayım daha ayrıntılı

1 Beğeni

Çok teşekkürler. İşe yaradı.