我的项目的代码有很多麻烦,需要用这段代码进行简单的乘法:错误是“值错误: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()
答案 0 :(得分:2)
您收到该错误是因为您尝试将非数字字符串(''
)转换为整数。 ''
没有明显的数字等价物,因此Python无法处理它。如果mEntry.get()
为'salmon'
,则会发生同样的情况。
''
的预期值是mEntry.get()
吗?如果是这样,也许您需要一些特定的逻辑来处理它。例如,如果您希望''
为您提供0
,则可以执行以下操作:
s = mEntry1.get()
if s != '':
ans1 = 0
else:
ans1 = int(s)
如果''
不是mEntry.get()
的预期值,那么问题可能在您的代码中更早。