单元五

第20课 随机秘密与缩小范围

猜数拆弹
任务场景:猜数拆弹
随机秘密+提示
原理图:随机秘密+提示

一、任务目标

设置炸弹数字并提示太大/太小。

二、核心概念讲清楚

low/high 更新;猜中跳出。

三、跟着想一遍(小例子)

模拟几次猜测。

易错:不更新区间

正确:根据大小调 low/high

想一想:为何提示能加速找到?

四、解题思路

任务:设置炸弹数字并提示太大/太小。 先想清楚:输入是什么、处理后得到什么、屏幕上应出现什么。

本课主要用到:屏幕输出。

  1. 1明确任务「设置炸弹数字并提示太大/太小。」:运行后你希望看到什么结果(文字、图形或计算结果)。
  2. 2用 print 把结果说出来,确认屏幕上出现预期内容。
  3. 3写出判断条件:什么情况下走 A,什么情况下走 B。
  4. 4对照参考代码跑通后,只改一个参数,观察结果如何变化。

流程示意(可对照左侧文字)

任务:设置炸弹数字并…用print把结果说出来,…写出判断条件:什么情况下走…对照参考代码跑通后,只改一…

五、语句功能讲解

本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。

六、知识点讲解

随机让程序每次结果不完全相同,适合游戏与抽样;要设定范围。
  • 能用自己的话复述:输入是什么、按什么规则变、输出应怎样。
  • 练习时改一处、看一处,确认现象和概念对得上。

先弄清本课输入与输出,再进编程练习对照现象。

七、编程练习

在下方 Mixly 文本编程中载入、运行与检查(浏览器即可,不必本机安装 Python)。

缩小范围

参考代码(对照抄写到下方 Mixly)
secret=7
low,high=1,10
guess=5
print("区间",low,high)
if guess<secret:
    low=guess+1
elif guess>secret:
    high=guess-1
else:
    print("中!")
print("新区间",low,high)

八、课堂练习

先完成两道正误判断,再做其余题目;选出后点「检查」。

  1. 判断:只抄参考代码,不看运行输出,也不改参数验证。

  2. 判断:先跑通,再对照「单元五」改一处输入/参数,确认输出按预期变化;答错小测时读讲解。

  3. 猜大了通常?

  4. secret 常用?

九、本节小结

先会玩,再加防护。