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

Python入门猜数字游戏:如何区分首次与后续猜测的提示输出

问题根因

你现有代码的提示输出逻辑有误:每轮循环先固定打印Take a guess!,再判断如果不是第一次猜测就追加打印Take another guess!,导致第2次及之后的猜测会同时出现两条提示,无法实现区分提示的需求。

修正方法

把提示输出改为if/else二选一分支,每轮只输出一条对应提示:

  • 第1次猜测(guessesTaken == 1)时,输出Take a guess!
  • 第2到第5次猜测(guessesTaken > 1)时,输出Take another guess!
修正后完整代码
# 数字猜谜游戏
import random
from time import sleep
secretNumber = random.randint(1, 20)
print('我想到了一个1到20之间的数字,你共有5次猜对的机会。')
sleep(1)

# 累计5次猜测机会
for guessesTaken in range(1, 6):
    if guessesTaken == 1:
        print('Take a guess!')
    else:
        print('Take another guess!')
    guess = int(input())
    
    if guess < secretNumber:
        print('你的猜测太小了。')
    elif guess > secretNumber:
        print('你的猜测太大了。')
    else:
        break # 猜中,直接跳出循环

if guess == secretNumber:
    print(f'猜得对!你总共用了{guessesTaken}次就猜中了!')
else:
    print(f'机会用完了,我想的数字是{secretNumber}。')
补充说明

循环for guessesTaken in range(1, 6)执行时,guessesTaken会依次取1、2、3、4、5,刚好对应5次猜测的轮次,直接用这个变量做判断即可,不需要额外新增计数变量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 10:00:54