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

为什么我的Python代码每次运行都显示“Incorrect”?

问题分析与修复方案

核心问题

  1. 类型不匹配:input()获取的是字符串类型,而random.randrange(0,2)生成的是整数(0或1),字符串与整数直接用==比较永远不相等,导致每次都输出"Incorrect"。
  2. 随机数范围错误:程序提示用户选1-2,但随机数生成的是0-1,两者范围不匹配。
  3. 输入验证逻辑缺陷:ry not in '1,2'的判断逻辑有误,会把逗号,也判定为有效输入,无法准确过滤无效值。

修复后的代码

import random
print("Pick a number 1-2")
ry = input().strip()

# 先验证输入合法性
if ry not in ('1', '2'):
    print('Invalid Input - * 1-2 Input requested* ')
else:
    # 将输入转为整数,与随机数类型统一
    ry_num = int(ry)
    # 生成1到2的随机整数,匹配用户输入范围
    nmr = random.randint(1, 2)
    if ry_num == nmr:
        print('congrats')
    else:
        print('Incorrect')

修改说明

  • 用strip()处理输入,避免用户输入带空格的无效内容
  • 改用元组('1', '2')做输入验证,准确判断有效输入
  • 将用户输入转为整数,保证与随机数的类型一致,才能正确比较
  • 替换randrange(0,2)为randint(1,2),生成符合要求的随机数
  • 调整逻辑顺序,先验证输入有效性,再执行猜数逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 07:05:32