0
當我嘗試了一些它給了我invalid
但我只希望它說invalid
如果它是一個負數或不是一個數字:Tkinter的「如果」語句,返回不正確的文本
from Tkinter import *
import tkMessageBox
class MyApp(object):
def __init__(self):
self.root = Tk()
self.root.wm_title("Question 7")
self.label = Label(self.root, text="Enter weight in pounds",
font=('Calibri', 50))
self.label.pack(padx=20,pady=10)
self.labeltext = StringVar()
self.labeltext.set("")
Label(self.root, textvariable=self.labeltext).pack()
self.entrytext = StringVar()
Entry(self.root, textvariable=self.entrytext).pack()
self.entrytext.trace('w', self.entry_changed)
self.root.mainloop()
def entry_changed(self, a, b, c):
s = self.entrytext.get()
try:
a=int(s)*4.3
self.labeltext.set(a)
except:
if s=="":
self.labeltext.set("")
else:
self.labeltext.set("invalid")
MyApp()
這看起來像一個縮進問題(不是唯一的問題)。我認爲'else:'應該與'if s ==「」:'具有相同的縮進級別。 –
@BilltheLizard哈,好了,現在我覺得很傻:)好的電話。 – RocketDonkey
嗯,我什至不能得到代碼運行,所以我不知道。 :) –