python - If statement not continuing -


this code won't continue after checks if variable x integer or not. gives out valueerror, if x not int. how make program ignore error? i've tried invert statement so:

elif x isinstance(x, int): 

but then, if give integer, jumps else statement.

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 there\n anything\n can do\n you?")     elif x isinstance(x, int):         if int(x) == 0:             lr.configure(text="this 0")         elif int(x) % 2 == 0:             lr.configure(text="this number")         elif int(x) % 2 != 0:             lr.configure(text="this odd number")     elif x "":         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() 

i think might trying see if string integer. instead of if statement, use try/except block:

def is_int(x):     try:         x = int(x)         return true     except:         return false 

put in code , use instead of call isinstance. now, if x integer, right you're asking if x (true or false), going return false. if x string turned integer, isinstance(x,int) never going return true if x converted int.


Comments