Çok Basit Veritabanında Return Sorunu

Return ifadesini yeni öğrendim. Kendimce çok basit bir veritabanı oluşturmayı denedim ama tanımladığım fonksiyondaki girdiyi dosyaya kaydetip aynı zamanda ekrana yazdırmayı beceremedim.

f=open("veritabanı.txt","a+",encoding="utf-8",buffering=1)

def girdi(isim,soyisim,branş):
        a=({"İsim":isim},
           {"Soyisim":soyisim},
           {"Branş":branş})
        return a
    
f.write(str(a))
f.write("\n")

Kodu çalıştırdığımda a tanımlanmamıştır diyor. “global” kullanmayı da denedim ama pek beceremedim açıkçası.
Yardımcı olabilirseniz sevinirim.

a'yi fonksiyonun icinde tanimlamissiniz, o yuzden sadece girdi fonksiyonun icinde kullanabilirsiniz. Sanirsam fonksiyonlari biraz yanlis anlamissiniz, asagidaki kaynak fonksiyonlari cok guzel aciklamis:

1 Beğeni

Verdiğiniz kodda girdi fonksiyonu çağırılmamış bile, fonksiyonlar konusunu baştan inceleyin.

Hocam denediğim şey sadece bu kodu kaydedip etkileşimli kabukta girdi fonksiyonunu çağırıp verileri girmekti. O yüzden kodun içinde girdi fonksiyonunu çağırmamıştım.