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)。
添加回答
舉報