AI中学生 CAICP 学习指南

本章小结与想一想

Python 用变量关联数据,用判断选择步骤,用循环逐项计算;数据多了,需要容器组织,步骤反复出现,可以写成函数,再借助模块或类安排更大的程序。无论写法怎样,都要能追清数据从哪里来、执行了哪一步、结果交到了哪里。CAICP 的程序阅读、补全与编写考查这些能力,人工智能程序读取图片、训练模型、统计结果也离不开它们。

程序已经能够把步骤执行出来。接下来的数学与算法,还要帮助解释为什么这样计算。

想一想

1.集星星的程序先执行 stars = 2,再执行 stars = stars + 3。星星变成了几颗?第二行两边都有 stars,为什么程序仍然能算下去?

2.小林用 input() 输入两个数,把输入结果直接相加,输入 5 和 2 却得到了 52。电脑把它们当成了什么?若要算出 7,应在哪一步改变数据的类型?

3.程序要从 [55, 80, 95] 中找出不低于 80 的分数。假想循环依次走过这三个数,哪些会被留下?如果把判断条件误写成“大于 80”,结果会少谁?

4.先执行 a = ['语文', '数学'],再执行 b = a,随后往 b 里添加“英语”。查看 a 时会看到什么?如果希望两份清单能分别修改,应该怎样处理?

5.三个小组都要计算各自测得的平均叶长。与其把同一段计算抄三遍,不如写成一个函数。这个函数需要接收什么、返回什么,才能让三个小组都用得上?

6.为三盆植物各建一个 FlowerPot 对象,记录名字和含水量。给第一盆浇水时,另外两盆的含水量也应该跟着改变吗?这些数据为什么适合保存在各自的实例里?

发现错误或有没讲清楚的地方?欢迎提交勘误与建议。请注明章节及原文。

↑