gpt4 book ai didi

python - 将用户输入从 tkinter 保存到变量并检查其内容

转载 作者:行者123 更新时间:2023-12-01 04:41:55 24 4
gpt4 key购买 nike

我用 Python 编写了一个模拟纸牌游戏的脚本,用户可以决定他们想要玩多少张纸牌以及多少堆纸牌。此输入由以下代码控制,其中 boundary_1boundary_2给出整数区间的上限和下限,消息是用户输入:

def input_check(boundary_1, message, boundary_2): 
run = True
while run:
try:
user_input =int(input(message))
if boundary_1 <= user_input <= boundary_2:

run = False
return user_input
else:
print ("Incorrect Value, try again!")
run = True
except ValueError:
print ("Incorrect Value, try again!")

我现在想尝试使用 tkinter 从这个纸牌游戏中制作一个 GUI,因此我想知道是否有任何方法可以将用户的输入保存到可以发送到 input_check() 的变量中。上面的函数?我阅读了 tkinter 上的一些教程,发现了以下代码:

def printtext():
global e
string = e.get()
text.insert(INSERT, string)

from tkinter import *
root = Tk()
root.title('Name')
text = Text(root)
e = Entry(root)
e.pack()
e.focus_set()
b = Button(root,text='okay',command=printtext)
text.pack()
b.pack(side='bottom')
root.mainloop()

下面的代码只是在文本框中打印用户的输入,我需要的是我的 input_check() 检查用户的输入然后在文本框中打印错误消息或将输入保存到变量中以供进一步使用(如果获得批准)。有什么好的方法可以做到这一点吗?

非常感谢!

最佳答案

最简单的解决方案是使 string 全局化:

def printtext():
global e
global string
string = e.get()
text.insert(INSERT, string)

当您这样做时,代码的其他部分现在可以访问 string 中的值。

这不是最好的解决方案,因为过度使用全局变量会使程序难以理解。最好的解决方案是采用面向对象的方法,其中您有一个“应用程序”对象,并且该对象的属性之一类似于“self.current_string”。

有关我建议您如何构建程序的示例,请参阅 https://stackoverflow.com/a/17470842/7432

关于python - 将用户输入从 tkinter 保存到变量并检查其内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30465058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com