乐于分享
好东西不私藏

跟电脑玩"你猜我猜"!10行Python代码做出一个猜数字游戏

跟电脑玩"你猜我猜"!10行Python代码做出一个猜数字游戏

跟电脑玩"你猜我猜"!10行Python代码做出一个猜数字游戏


开篇小故事

"117 比 89 大还是小?"——三年级的豆豆对着比大小的题目直犯困。

爸爸说:"咱们玩个游戏吧。你心里想一个数,我来猜。我猜大了你就说'大了',猜小了就说'小了'。"

豆豆来了兴趣:"反过来!你心里想一个,我来猜!"

爸爸打开电脑:"不仅我陪你玩,我还能让电脑陪你玩。"


你能学到什么

  • • 理解 if 判断(如果…就…否则…)
  • • 巩固比较大小(大于、小于、等于)
  • • 用 while 循环反复猜直到猜对

直接上代码

import random

# 电脑心里想一个1到100之间的整数

answer = random.randint(1, 100)
cishu = 0  # 记录猜了多少次

print
("我心里想了一个 1~100 之间的整数,你来猜猜看!")

while
 True:
    guess = int(input("你猜是多少?"))
    cishu = cishu + 1

    if
 guess > answer:
        print
("太大了!再猜小一点~")
    elif
 guess < answer:
        print
("太小了!再猜大一点~")
    else
:
        print
(f"🎉 恭喜你猜对了!正确答案是 {answer}")
        print
(f"你一共猜了 {cishu} 次")
        break
  # 猜对了就结束游戏

代码讲解

代码
作用
random.randint(1, 100)
随机生成 1 到 100 之间的整数
while True:
无限循环,直到 break 才停下来
if guess > answer:
如果猜的数比答案大……
elif guess < answer:
否则如果猜的数比答案小……
else:
以上都不成立(那就是相等)
break
跳出循环,游戏结束

用生活场景来理解

想象你妈妈心里想了一个数字,让你猜:

  • • 你说 50,妈妈说"小了" → 那 50 以下的数字全都不用试了
  • • 你说 75,妈妈说"大了" → 那 75 以上的也不用试了
  • • 你说 63,妈妈说"对了!"

这就是 二分查找 的思想——等到了高年级,你会知道这是一种非常聪明的搜索方法。


进阶版:加上次数限制

如果想让游戏更刺激,可以限制最多猜 7 次:

import random

answer = random.randint(1, 100)
max_times = 7

print
(f"你只有 {max_times} 次机会哦!")

for
 times in range(1, max_times + 1):
    guess = int(input(f"第{times}次,你猜是多少?"))

    if
 guess == answer:
        print
(f"🎉 恭喜!你用了 {times} 次就猜对了!")
        break

    elif
 guess > answer:
        print
(f"大了!还剩 {max_times - times} 次机会")
    else
:
        print
(f"小了!还剩 {max_times - times} 次机会")
else
:
    # for 循环正常结束(没被break打断)才会走到这里

    print
(f"😢 机会用完了!正确答案是 {answer}")

试试加点变化?

变化
怎么改
改成猜 1~1000
random.randint(1, 1000)
改成猜 0~50
random.randint(0, 50)
角色互换,让电脑猜你的数
需要用到我们下下期学的二分查找算法,先留个悬念!

易错点提醒

易错点
为什么
怎么改
忘记 int(input(...))
input 返回的是字符串,不能和数字比大小
加 int() 转换成整数
=
 写成 ==
一个等号是赋值,两个等号才是"判断是否相等"
比较时用 ==
忘记 break
猜对了也不会停,一直让你猜
猜对后加 break

学校信息课考点预告

本期涉及的核心考点:

  • • 条件判断(if / elif / else)——信息科技课必考
  • • 比较运算符><==)——数学与编程的交叉考点
  • • 循环与条件结合——算法设计基础

家长辅导小贴士

  1. 1. 先和孩子玩"真人版":你心里想一个数,让孩子猜,你说"大了""小了"。玩熟练后再到电脑上写代码,孩子会更容易理解。
  2. 2. 如果孩子总是乱猜,可以引导他思考"最优策略":先猜 50,根据反馈排除一半,再猜剩下的中间数……
  3. 3. 鼓励孩子把游戏拿给同学玩。教别人是最好的学习方式。
  4. 4. 如果孩子问"为什么 while True 不会一直跑下去?",让他试试把 break 删掉,感受一下"死循环"——然后再加回来,他会永远记住 break 的作用。