import tkinter as tk
import math
window = tk.Tk()
label = tk.Label(text = 'Want to find a root?')
label.pack()
entry = tk.Entry(fg = 'blue')
entry.pack()
n = entry.get()
number = int(n)
answers = {}
roots = [x for x in range(2, 100)]
def search(number):
for i in roots:
if number > i:
if number//i**2 != 0:
if number//i**2 != 1:
if (i**2)*(number//i**2) == number:
answers[i] = number//i**2
print(answers)
search(number)
window.mainloop()
所以我需要從 entry 中獲取一個整數并將其作為一個 int 使用,但是 entry 給了我一個我無法使用的字串。我無法在 entry 中輸入一個 int,因為由于程式沒有啟動錯誤錯誤:number = int(n) ValueError: int() 以 10 為底的無效文字:''
uj5u.com熱心網友回復:
您將獲得幾秒鐘前創建的條目的值。當然不會有事!在需要時使用entry.get(),而不是之前的任何時候。將 放入.get()函式search中,然后呼叫int它。
更新search功能:
def search(number):
number = int(entry.get())
for i in roots:
if number > i:
if number//i**2 != 0:
if number//i**2 != 1:
if (i**2)*(number//i**2) == number:
answers[i] = number//i**2
并洗掉代碼中獲取入口值并將其轉換為 int 的兩行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/456993.html
