Python ile Arayüz tasarımı kodlarında olan hatayı bulabilir misiniz?

from tkinter import *

def fonksiyon ():
    isletilecek_komut=kutu.get()
    exec "a="+isletilecek_komut
    yazi2.config(text = str (a))
	
pencere=Tk()
pencere.title("hesapla-aycakeles212@gmail.com")
pencer.geometry("500×350+430+170")

yazi=Label(pencere)
yazi.config(text ="Hoşgeldiniz")
yazi.pack()

yazi2=Label(pencere)
yazi2.config(text ="Henüz hiç işlem yapılmadı.",front ="courier 20 bold")
yazi2.pack()

kutu=Entry(pencere)
kutu.pack()

buton=Button(pencere)
buton.config(text="Hesapla",command=fonksiyon)
buton.pack

mainloop()

Hatalar:

  1. Hata
exec "a="+isletilecek_komut  # hatalı
exec("a = '{}'".format(isletilecek_komut))  # doğrusu 
  1. Hata
    yazi2.config(text=str(a))  # hatalı
    yazi2.config(text=str("a")) # doğrusu
  1. Hata
pencer.geometry("500×350+430+170")  # hatalı
pencere.geometry("500x350")  # doğrusu
  1. Hata
yazi2.config(text ="Henüz hiç işlem yapılmadı.",front ="courier 20 bold") # hatalı
yazi2.config(text="Henüz hiç işlem yapılmadı.", font="courier 20 bold") # doğrusu
  1. Hata
buton.pack  # Hatalı
buton.pack() # Doğrusu

Düzeltilmiş Kodlar:

from tkinter import *


def fonksiyon():
    isletilecek_komut = kutu.get()
    exec("a = '{}'".format(isletilecek_komut))
    yazi2.config(text=str("a"))


pencere = Tk()
pencere.title("hesapla-aycakeles212@gmail.com")
pencere.geometry("500x350")

yazi = Label(pencere)
yazi.config(text="Hoşgeldiniz")


yazi2 = Label(pencere)
yazi2.config(text="Henüz hiç işlem yapılmadı.", font="courier 20 bold")
yazi2.pack()


kutu = Entry(pencere)
kutu.pack()

buton = Button(pencere)
buton.config(text="Hesapla", command=fonksiyon)
buton.pack()

mainloop()
2 Beğeni

En büyük hata: Başlıktaki Pyhton (Python olmalı)

5 Beğeni

Çok teşekkür ederim :slight_smile:

1 Beğeni
  1. Hatada bir bug var. Zaten string olan bir veriyi tekrar string tipine dönüştürüyorsunuz.

Peki, aşağıdaki kodları çalıştırdığınızda ne sonuç alıyorsunuz?

print("a" == str("a"))

True çıktısı veriyor.

O halde ikisi aynı şey. O ifadeyi kullanma sebebim hata ile doğrusu arasındaki farka vurgu yapmaktı. Gerçi “a” stringini normalde yazıldığı gibi de yazabilirdim ama o sefer öyle olmuş.