2. 猜数字游戏

任务说明

实现一个命令行猜数字游戏:程序随机生成1~100之间的整数,用户循环输入猜测值,程序提示“猜大了”或“猜小了”,直到猜中时输出恭喜信息并结束游戏。本案例聚焦核心循环逻辑与输入校验,不包含计分、难度选择等扩展功能。

核心实现

import random

def guess_number():
    target = random.randint(1, 100)
    attempts = 0

    while True:
        try:
            guess = int(input("请输入你猜的数字(1-100):"))
        except ValueError:
            print("输入无效,请输入整数。")
            continue

        if guess < 1 or guess > 100:
            print("数字超出范围,请输入1到100之间的整数。")
            continue

        attempts += 1

        if guess < target:
            print("猜小了,再试试。")
        elif guess > target:
            print("猜大了,再试试。")
        else:
            print(f"恭喜你猜对了!数字就是 {target},你共猜了 {attempts} 次。")
            break

if __name__ == "__main__":
    guess_number()

运行方式

将代码保存为 guess_number.py,在终端执行 python guess_number.py 即可启动游戏。

验证方法

启动程序后,依次输入以下测试用例,观察输出是否符合预期:

  • 输入 50:若程序提示“猜大了”或“猜小了”,说明比较逻辑正常;
  • 输入 abc:应提示“输入无效,请输入整数”,程序不崩溃;
  • 输入 0 或 101:应提示“数字超出范围”;
  • 持续输入直到猜中:程序应输出“恭喜你猜对了!数字就是 X,你共猜了 N 次。”并正常退出。

判定标准:上述所有输入均得到对应提示,且最终能正确退出,即视为通过。

猜数字游戏程序流程 开始 target = random(1,100) 用户输入猜测值 猜中? 是 输出恭喜 否 提示猜大/猜小 并继续循环