第16课:猜数字游戏
进度 0/30
🎯
猜数字游戏
人机对战第一战——猜数字背后的逻辑
📖知识引入
🎰电脑先藏一个数
游戏开局,电脑用随机数在1到100里偷偷选一个数,存进变量里。它藏好了就守口如瓶,等你来猜——这就是游戏的起点。
🗣️猜完要给反馈
你说50,电脑答「太小了」;你说75,它答「太大了」。这背后是if判断:猜的数<答案,提示太小;>答案,提示太大;==答案,恭喜!
🔁循环到你猜中
整个游戏包在while循环里:只要没猜中就一直问。猜中的那一刻条件变假,循环结束,游戏胜利——循环+条件,游戏的地基。
🧠二分法神器
高手玩法:先猜50,根据提示砍掉一半范围,再猜中间……7次必中!这叫二分法,是计算机科学的核心思想,你现在就能体会到它的威力。
✨让AI加料
基础版完成后让AI升级:限制猜数次数、显示历史记录、难度选择(简单/困难)、加音效动画。一个课间小游戏瞬间变精致小品!
💡
7次必中1到100的秘诀:每次都猜剩下范围的中间数!
🔍一场高手对决回放
# 猜数字游戏核心代码
import random
answer = random.randint(1, 100) # 电脑藏数
count = 0
while True:
guess = int(input("猜一个1-100的数:"))
count += 1
if guess < answer:
print("太小了 ⬆️")
elif guess > answer:
print("太大了 ⬇️")
else:
print(f"猜中了!用了{count}次 🎉")
break # 跳出循环,游戏结束电脑藏了72,看高手怎么7步锁定:
┌─────────────────────────┐ │ 猜50 -> 「太小了」 │ │ 范围剩 51-100,猜中间75 │ │ 猜75 -> 「太大了」 │ │ 范围剩 51-74,猜中间62 │ │ 猜62 -> 「太小了」 │ │ 猜68 -> 「太小了」 │ │ 猜71 -> 「太小了」 │ │ 猜72 -> 「恭喜你!🎉」 │ └─────────────────────────┘
每猜一次,范围砍一半:
100→50→25→12
→6→3→1→锁定!
这就是二分法: 不是瞎猜,是聪明地猜。 电脑程序里的「查找」, 用的正是这一招!
🎯小测验
第1题:猜数字游戏中,电脑藏的数存在哪里?
第2题:游戏能「一直问到你猜中」,靠的是?
第3题:二分法猜1-100的数,最多需要几次?
📝本课知识点
- ✓电脑藏数:随机数存进变量
- ✓反馈:if判断猜大还是猜小
- ✓循环:没猜中就继续
- ✓二分法:7次锁定1-100
- ✓让AI加料变精致
第16课完成!继续探索下一课吧 🚀
