在检查变量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