0

我的项目的这段代码有很多麻烦,需要用这个代码做一个简单的乘法:错误是“值错误:int()基数10的无效文字:”

    def multcalc():
                        ans1=int(mEntry1.get())  #This is where it's locating the error
                        ans2=int(mEntry2.get()) #
                        print(ans1*ans2) 
                        return
                    multmenu=Tk()
                    mEntry1=StringVar()
                    mEntry2=StringVar()
                    multmenu.geometry('450x450+200+200')
                    multmenu.title('Multiplication')
                    input1msg=Label(text='Enter your first input').pack()
                    input1entry=Entry(multmenu,textvariable=mEntry1).pack()
                    input2msg=Label(text='Enter your second input').pack()
                    input2entry=Entry(multmenu,textvariable=mEntry2).pack() 
                    mCalculate=Button(multmenu,text='Enter',command=multcalc).pack()                               
4

1 回答 1

2

您收到该错误是因为您试图将非数字字符串 ( '') 转换为整数。 ''没有明显的数字等价物,因此 Python 无法处理。mEntry.get()如果是也会发生同样的情况'salmon'

''期望值mEntry.get()吗?如果是这样,也许您需要一些特定的逻辑来处理它。例如,如果你想''给你0,你可以这样做:

s = mEntry1.get()
if s != '':
    ans1 = 0
else:
    ans1 = int(s)

如果''不是 的预期值mEntry.get(),那么问题可能在您的代码中较早出现。

于 2013-11-14T19:52:48.950 回答