1 回答
TA贡献1811条经验 获得超6个赞
我注意到您的代码几乎没有问题。我能够在没有太多更改的情况下运行它,尽管这可能不是最好的方法。
首先回答您的问题:您收到此错误,因为您正试图将字符串 -> '' 更改为 int。发生这种情况是因为 function() 在您单击按钮之前正在运行。
另一个问题:
izpis_stevila = Label(root, text="" + stevilo)
在调用 function() 之前,变量 'stevilo' 根本不存在,所以从这里删除它。
我的改变建议:
1)
gumb = Button(root, text="Generate number", width=17, height=2,command = lambda: function())
如果没有 lambda,无论按钮的状态如何,您的函数都会运行。
2)
first = IntVar(root, value=0)
second = IntVar(root, value=1)
prvo_stevilo = Entry(root, width=20, borderwidth=3, textvariable=first)
drugo_stevilo = Entry(root, width=20, borderwidth=3, textvariable=second)
如果您在输入中没有任何值的情况下运行函数,您将收到错误消息。此更改允许您为条目小部件设置默认值。
3)
def function():
if prvo_stevilo.get() == '' or drugo_stevilo.get() =='':
return
else:
string_answer1 = prvo_stevilo.get()
int1 = int(string_answer1)
string_answer2 = drugo_stevilo.get()
int2 = int(string_answer2)
stevilo = random.randint(int1, int2)
izpis_stevila = Label(root, text=str(stevilo))
izpis_stevila.grid(row=9, column=0)
首先检查您的条目是否为空。其次更新标签,还记得在此处将 int 更改为字符串 text=str(stevilo)。
添加回答
举报