2024-04-25 14:29:24 发布
网友
我正在做一个游戏,我从玩家那里得到答案,并将他们与正确的答案进行匹配。因为我使用的是int数据类型,所以我只希望用户输入int类型的数据。我想限制用户输入任何其他数据类型,但我不能这样做。我也考虑过验证命令,但无法理解它。请帮忙。你知道吗
这是我的代码部分,我想做一些补充。。你知道吗
def checkans(self,event): self.e.focus_set() if int(self.e.get())==self.ans: self.score+=10
虽然this question可能是您真正想要的答案(正如j_4321在comments中指出的那样),但是了解Entry小部件的实际工作方式可能是值得的。你知道吗
Entry
使用.get()方法的Entry返回的数据类型始终以str形式返回值:
.get()
str
import tkinter as tk root = tk.Tk() entry = tk.Entry(root) entry.pack() tk.Button(root, text="Check Data Type", command=lambda: print(type(entry.get()))).pack() root.mainloop()
但是,您可以使用一系列try except检查str是否表示不同的类型(尽管这很混乱):
try except
import tkinter as tk root = tk.Tk() entry = tk.Entry(root) entry.pack() def check(entry): try: str(entry.get()) print(True) except ValueError: print(False) try: int(entry.get()) print(True) except ValueError: print(False) try: float(entry.get()) print(True) except ValueError: print(False) tk.Button(root, text="Check Data Type", command=lambda: check(entry)).pack() root.mainloop()
虽然this question可能是您真正想要的答案(正如j_4321在comments中指出的那样),但是了解
Entry
小部件的实际工作方式可能是值得的。你知道吗使用
.get()
方法的Entry
返回的数据类型始终以str
形式返回值:但是,您可以使用一系列
try except
检查str
是否表示不同的类型(尽管这很混乱):相关问题 更多 >
编程相关推荐