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
相关产品推荐
相关产品推荐

