关于python:如何将StringVar转换为整数

How to convert a StringVar to an Integer

本问题已经有最佳答案,请猛点这里访问。

我正在写一个基本的猜数字游戏,并且试图将程序放到一个窗口中。 一切正常,除非我尝试访问在entry_box中创建的变量,然后将其与int进行比较。

现在,从entry_box出来的变量是StringVar。 如何将其转换为整数,以便可以比较变量?

1
2
3
4
5
# Creates the entry box and variable that will be used in it
# answer = StringVar()
entry_box = Entry(window, textvariable = answer, width = 25, bg = 'white') .place(x = 350, y = 0)

num1 = answer.get()

因此,现在的答案是StringVar,而我正在尝试将其转换为Integer。 任何帮助,将不胜感激。


您只需要使用int():

1
num1 = int(answer.get())

最简单的方法与在Python中将任何字符串转换为整数的方法相同:

1
2
num1 = answer.get() # now we have a str
num2 = int(num1) # now we have an int

当然,如果用户在Entry中键入类似spam的内容,或者根本不输入任何内容,则第二行将引发ValueError。 您必须决定如何处理。

(对于更高级的项目,您可能要考虑使用IntVar而不是StringVar和/或使用手动Tkinter验证,但是对于一个简单的练习,您可能不需要这样做。)