本文目录导读:

猜数字游戏(带智能提示和分数系统)
基础逻辑:计算机随机生成1-100之间的数字,玩家猜测,每次反馈“高了/低了”,直到猜中。
但我们可以通过以下步骤让它更完整、更有Python特色:
import random
# 1. 核心逻辑:生成数字 + 循环猜测
def guess_game():
secret = random.randint(1, 100)
attempts = 0
score = 100 # 初始分数
print("欢迎来到猜数字游戏!")
print("系统已生成1-100之间的整数,请开始猜测。")
while True:
try:
guess = int(input("请输入你的猜测:"))
except ValueError:
print("输入无效,请输入整数!")
continue
attempts += 1
if guess < 1 or guess > 100:
print("数字超出范围(1-100)!")
continue
# 关键:使用“三目运算符”简化条件判断
difference = abs(guess - secret)
hint = "偏高" if guess > secret else "偏低"
# 2. 智能提示:根据差距给出不同反馈
if guess == secret:
print(f"🎉 恭喜!猜中了!共猜了{attempts}次,得分:{score}")
break
elif difference <= 5:
print(f"🔥 非常接近!只差{difference},但{hint}了!")
elif difference <= 20:
print(f"🌡️ 有点接近,{hint}了!")
else:
print(f"📏 差距较大,{hint}了!")
# 3. 分数递减:每猜一次扣5分
score -= 5
if score <= 0:
print("分数归零,游戏结束!答案其实是", secret)
break
# 4. 添加“历史记录”列表
def record_game():
history = [] # 列表:记录每局成绩
while True:
guess_game()
history.append(...) # 保存成绩
again = input("再来一局?(y/n):")
if again.lower() != 'y':
break
print("历史记录:", history)
# 5. 调用
record_game()
为什么这个案例很“棒”?
| 你学到/实践了什么 | 具体体现 |
|---|---|
| 随机数生成 | random.randint(1, 100) |
| 循环控制 | while True + break 灵活退出 |
| 错误处理 | try/except 捕获非数字输入 |
| 条件判断 | 多层 if/elif/else 实现智能提示 |
| 变量追踪 | attempts 统计次数,score 动态变化 |
| 列表应用 | history 记录多局成绩(可扩展为排行榜) |
| 函数封装 | 将游戏主体抽象为 guess_game() 函数 |
| 用户交互 | input() + 清屏/换行优化体验 |
如果你想挑战更高级的版本:
- 二分法 AI:写一个函数让计算机用二分法自动猜数字。
- 多人对战:两个玩家交替猜,看谁先猜中。
- 图形界面:用
tkinter或pygame做成猜数字小游戏。 - 数据分析:统计1000次猜数字的平均步数(利用
Counter)。
这个案例之所以经典,是因为它从游戏里自然地引入了几乎所有Python基础知识点,并且可以无限扩展——这正是编程的乐趣所在。
如果你有具体的Python水平(比如刚学完基础语法,或者想学某个库),告诉我,我可以推荐更针对性的案例!