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

Python猜数字程序问题:需实现3次猜数机会,当前仅支持1次

修改Python猜数字代码以支持3次猜数机会

原代码仅支持单次猜数,要实现3次机会,核心是用循环包裹猜数逻辑,同时添加猜对即终止循环的判断,以下是修改后的完整代码:

import random

# 生成1-5的随机数
target_num = random.randint(1, 5)
# 给用户3次猜数机会
for attempt in range(3):
    try:
        guess = int(input("Guess a number from 1 to 5: "))
    except ValueError:
        print("请输入有效的整数!")
        continue
    
    # 验证输入是否在1-5范围内
    if not (1 <= guess <= 5):
        print("ERROR:请输入1-5之间的数字")
        continue
    
    # 判断猜数结果
    if guess < target_num:
        print("SMALL")
    elif guess > target_num:
        print("BIG")
    else:
        print("You're right!")
        break  # 猜对后直接退出循环,不用继续猜
else:
    # 循环正常结束(3次都没猜对),提示正确答案
    print(f"3次机会用完啦,正确数字是{target_num}")

关键修改说明:

  • 用for attempt in range(3)创建固定3次的循环,每次循环对应一次猜数机会
  • 添加try-except处理非整数输入的情况,避免程序直接崩溃
  • 用1 <= guess <= 5替代原代码中繁琐的多条件判断,代码更简洁高效
  • 修正原代码中print("BIG")的语法错误(原代码将print与字符串分行,会导致执行异常)
  • 猜对后用break终止循环,无需消耗剩余猜数次数
  • 循环的else分支会在3次都未猜对时触发,告知用户正确答案

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 15:10:25