在檢查變量x是否爲整數後,此代碼將不會繼續。如果x不是int,它會給出一個ValueError。我如何讓程序忽略這個錯誤?我試圖反轉聲明,如下所示:如果語句不再繼續
elif x is isinstance(x, int):
但後來,如果我給它一個整數,它會立即跳轉到else語句。
from tkinter import *
root = Tk()
root.wm_title("InOut")
root.geometry('500x500')
greetings = ["hello", "Hello", "greetings", "Greetings"]
def out(event):
x = ent.get()
if x in greetings:
lr.configure(text=x + ",\n is there\n anything\n I can do\n for you?")
elif x is isinstance(x, int):
if int(x) == 0:
lr.configure(text="This is 0")
elif int(x) % 2 == 0:
lr.configure(text="This is a even number")
elif int(x) % 2 != 0:
lr.configure(text="This is an odd number")
elif x is "":
lr.configure(text="Well")
else:
print("Closing")
root.destroy()
ent = Entry(root)
ent.grid(row=0, column=0, sticky=NW)
lr = Label(root, text="Output")
lr.grid(row=0, column=2, columnspan=2)
btn = Button(root, text="Process")
btn.grid(row=0, column=1, sticky=NW)
btn.bind("<Button-1>", out)
root.mainloop()
刪除此x是。只是「isinstance(x,int)」。現在你問是否是(True或False),總是返回False。 – James
@詹姆斯仍然不起作用 – birkenspanner
看起來你可能會給它一個字符串而不是int?如果你必須將它轉換爲if語句下面的int,那麼它就不是int了 - 請參閱我的回答 – James