You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Tkinter数字猜谜游戏相同整数值比较判定不相等问题

Python Tkinter猜数字游戏故障修复

故障原因

代码核心问题为变量作用域与Tkinter变量类型使用错误:

  • 全局声明的randomNum是IntVar类型的Tkinter特殊变量,初始默认值为0
  • randomize()函数中直接执行randomNum = randint(0,10),会创建一个和全局变量同名的局部普通整型变量,完全不会修改全局IntVar类型randomNum的取值
  • 后续比较逻辑调用randomNum.get()时,永远拿到初始值0,因此只有输入0会判定正确;你界面上展示的随机数存储在独立的randomStr变量中,和比较用的randomNum完全不同步,因此出现“输入值和展示值一致仍判定错误”的现象。

修复方案

仅需要修改randomize()函数的赋值逻辑,使用IntVar自带的set()方法修改取值即可:

def randomize():
    # 生成随机数同时更新比较用的IntVar和展示用的StringVar,保证两者同步
    new_random_num = randint(0,10)
    randomNum.set(new_random_num)
    randomStr.set(new_random_num)

修改后用于逻辑比较的随机数和界面展示的随机数会完全同步,输入对应数值即可正常判定猜测结果。


内容的提问来源于stack exchange,提问作者Unknown_Robot5

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 10:54:00