当我在输入框中输入字母或十进制时,出现此错误“ 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

10-04 21:44