本文目录导读:

猜数字游戏(带智能提示和分数系统)
基础逻辑:计算机随机生成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水平(比如刚学完基础语法,或者想学某个库),告诉我,我可以推荐更针对性的案例!
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播