我正在尝试从条目中获取一个整数
I am trying to get an int from entry
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 给了我一个字符串,我不能 work.I 不能在 entry 中键入 int 因为程序由于错误而没有启动
Error:number = 整数(n)
ValueError:以 10 为底的 int() 的无效文字:''
您正在获取几秒钟前创建的条目的值。当然不会了!在需要时使用 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 的两行。
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 给了我一个字符串,我不能 work.I 不能在 entry 中键入 int 因为程序由于错误而没有启动 Error:number = 整数(n) ValueError:以 10 为底的 int() 的无效文字:''
您正在获取几秒钟前创建的条目的值。当然不会了!在需要时使用 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 的两行。