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

Python猜随机数程序问题求助:输入与随机数比较异常

猜数字程序问题修正建议

你的代码里有几个关键问题导致输入与随机数的比较逻辑失效,以下是具体修正点和解释:

  • 错误赋值输入变量
    原代码中guess = input是把input函数本身赋值给了guess,而非用户输入的整数值。正确做法是将输入转换为整数后赋值给guess。

  • 错误调用随机数变量
    target是你用random.randint生成的固定随机整数,不是函数,不能写成target(),直接使用target即可。

  • 输入未更新到变量
    循环内的输入操作只做了打印,没有把新输入值赋值给guess,导致循环条件永远无法满足。

  • 拼写错误
    提示文本里的to high和to low应改为too high和too low。

修正后的完整代码:

import random
target = random.randint(1, 100)
counter = 0
# 第一次获取用户输入并转为整数
guess = int(input('Guess an integer between 1 and 100: '))

while guess != target:
    counter += 1
    if guess > target:
        print("Guess is too high")
    elif guess < target:
        print("Guess was too low")
    # 更新guess为新的输入值
    guess = int(input('Guess an integer between 1 and 100: '))

# 猜对后计数加1(最后一次正确输入也属于一次猜测)
counter += 1
print(f"Correct! It took you {counter} guesses to get the correct number")

额外优化说明:

  • 用counter += 1替代counter = counter + 1,写法更简洁。
  • 使用f-string格式化输出结果,比字符串拼接更直观易读。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 11:05:22