无序类型:int()<Entry()

2024-09-26 17:45:37 发布

您现在位置:Python中文网/ 问答频道 /正文

作为初学者,我不知道如何修复这个程序。每当我试图在菜单中更改网格的大小时,都会发生错误。然后我去运行宝藏网格,我得到了这个错误,不知道如何解决。感谢任何帮助!在

错误:

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Program Files (x86)\python\lib\tkinter\__init__.py", line 1533, in __call__
    return self.func(*args)
  File "/Documents/treasurehunt test.py", line 178, in refresh
    placeChests()
  File "/Documents/treasurehunt test.py", line 128, in placeChests
    while len(treasureChests) < treasure_amount:
TypeError: unorderable types: int() < Entry()

代码:

^{pr2}$

Tags: inpytest程序网格错误line菜单
1条回答
网友
1楼 · 发布于 2024-09-26 17:45:37

只处理这个特定的问题,您将int()与{}即len(treasureChests) < treasure_amountlen返回一个int,而{}是输入框。若要仅解决该问题,请将while循环更改为:

while len(treasureChests) < int(treasure_amount.get()):

它使用.get()检索输入框的值,并int()从默认值str进行转换 以后可能会有更多的问题出现。在

另外,请尝试使用less global语句。在

编辑进一步检查后,我发现这是一个常见的名称错误,您有两个不同的对象设置为同一个变量。第一个在上面:

^{pr2}$

另一个在您的设置窗口中:

global treasure_amount
treasure_amount = tk.Entry(settings, width=50, fg="magenta")

所以你应该换个名字。在

相关问题 更多 >

    热门问题