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

新手求助:猜数字游戏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)

修正说明

  1. 给函数内部所有代码添加了4个空格的缩进,确保它们属于guess(x)函数体;同时修正了while循环、if/elif分支的缩进,保证代码块层级正确。
  2. 将打印成功信息的语句移到函数内部,使其能访问到局部变量random_number。
  3. 在代码末尾添加guess(100)调用函数,启动猜数字逻辑,括号内的数值可根据需求修改为任意正整数,作为猜数字范围的上限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 12:15:42