新手求助:猜数字游戏Python代码无法运行,请求排查
猜数字游戏代码问题排查与修复
你的代码存在三个核心问题:
- 缩进错误:Python依赖缩进划分代码块,函数内部的代码、while循环体、if/elif分支都没有正确缩进,会直接触发语法错误。
- 变量作用域问题:最后打印成功信息的语句写在函数外部,但
random_number是函数内部的局部变量,外部无法访问,运行会报NameError。 - 未调用函数:你定义了
guess(x)函数,但没有执行这个函数,程序根本不会启动猜数字逻辑。
修正后的代码
import random def guess(x): random_number = random.randint(1, x) guess = 0 while guess != random_number: guess = int(input(f"Guess a number between 1 and {x}: ")) if guess > random_number: print(f"{guess} is incorrect, try lower!") elif guess < random_number: print(f"{guess} is incorrect, try higher!") print(f"congratulations, you have guessed {random_number} correctly!") # 调用函数,这里设置猜数字范围为1-100,可自行修改上限 guess(100)
修正说明
- 给函数内部所有代码添加了4个空格的缩进,确保它们属于
guess(x)函数体;同时修正了while循环、if/elif分支的缩进,保证代码块层级正确。 - 将打印成功信息的语句移到函数内部,使其能访问到局部变量
random_number。 - 在代码末尾添加
guess(100)调用函数,启动猜数字逻辑,括号内的数值可根据需求修改为任意正整数,作为猜数字范围的上限。
内容的提问来源于stack exchange,提问作者ZEDM
相关产品推荐
相关产品推荐

