当我在输入框中输入字母或十进制时,出现此错误“ ValueError:int()的无效文字,基数为10:'g'”。输入框仅包含整数,我想知道是否可以给出一条消息,说“您必须输入数字”或类似的东西,当他们尝试输入字母时。这是我的一些代码:
def checkAnswer():
mainAnswer = entry1.get()
if len(mainAnswer) == 0:
messagebox.showwarning(message='-You must enter some numbers first!')
return
if int(mainAnswer) != answer:
messagebox.showwarning(message='Sorry...the correct answer is: ' + str(answer))
else:
messagebox.showinfo(message='Correct!')
最佳答案
当int(mainAnswer)
不是数字时,当您尝试执行mainAnswer
时,会得到一个例外。一种解决方法是执行以下操作:
try:
int(mainAnswer)
except ValueError:
messagebox.showwarning(message="You must enter a number")
return
# the rest of your code