🐵指尖猴全新升级
第16课:猜数字游戏
🎯

猜数字游戏

人机对战第一战——猜数字背后的逻辑

📖知识引入

🎰电脑先藏一个数
游戏开局,电脑用随机数在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课完成!继续探索下一课吧 🚀