如何将StringVar转换为整数

时间:2018-03-11 21:49:26

标签: python python-3.x tkinter type-conversion

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

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

# 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,我试图将它转换为整数。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

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

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

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

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

答案 1 :(得分:0)

你只需使用int():

num1 = int(answer.get())