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 次。”并正常退出。
判定标准:上述所有输入均得到对应提示,且最终能正确退出,即视为通过。