师:今天我们来学习 2.3 周而复始的循环第一课时。本节课我们将会学习 for 语句、range 函数、列表,以及如何用计数循环解决实际问题。我们将围绕计算五年储蓄存款收益项目展开学习,通过两个活动来了解循环的作用,学习如何根据问题的需要选择恰当的 for 计数循环来解决实际问题。

  首先看活动一,计算利率不变情况下的到期存款总额。假如将 5 万元存入银行,选择一年定期自动转存的存款方式,假设五年内存款利率不变,均为 3.25% ,五年后到期存款总额是多少呢?下面我们对活动一的问题进行分析,需要解决以下几个问题:如何存放金额、利率和存款年数的数值?如何计算 5 年后到期的存款总额?如何显示存款 5 年后到期的存款总额?

  我们着重看如何计算 5 年后到期的存款总额。每年的存款总额等于本金乘以(1 + 利率)的和。第一年存款总额等于本金乘以(1 + 利率)的和,第二年存款总额等于第一年存款总额乘以(1 + 利率)的和,如此类推,计算 5 次,就能得出 5 年后到期的存款总额。我们发现每一年计算得出的存款总额就是作为下一年的本金进行代入计算。在设计算法时,我们可以考虑使用变量 money 存放每一年的存款总额,作为计算下一年的本金使用,利率不变,使用变量 rate 来存放。

  分析问题后,我们根据需要解决的问题进行算法描述。第一步到第三步,我们通过变量 money、rate 和 years 分别存放金额、利率和存款年数的数值,解决第一个问题。然后第四步,计算 5 次每一年到期的存款总额,使用变量 money 存放存款总额的数值,解决第二个问题。最后第五步,输出存款 5 年后到期的存款总额。

  根据算法,我们来看如何一一对应程序代码。第一,使用变量 money 存放金额的数值,对应的程序代码为:50000 赋值给变量 money。第二,使用变量 rate 存放利率的数值,对应的程序代码为:0.0325 赋值给 rate。第三,对应变量 years,存放存款年数的数值,对应的程序代码为:5 赋值给变量 years,这里用到的是前面学习的用常量对变量进行赋值的方法。第四,计算 5 次每一年到期的存款总额,使用变量 money 存放存款总额的数值,对应的程序代码为:(1 + rate)的和乘以 money 的积赋值给 money。通过顺序结构把这句代码重复运行 5 次,有没有更好的方法呢?我们可以看到上面有一句代码被重复执行了 5 次,是自上而下执行的顺序结构。在解决这类反复执行某些代码的问题时,可以试着采用循环结构执行需要反复执行的语句,直到判断已执行 5 次条件满足结束。

  计算机程序中某些代码的反复执行称为循环,判断框里是条件,反复执行的语句或语句组是循环体。如上展示,循环重复次数一定时,我们通常称为计数循环。在 Python 中,使用 for 语句来创建计数循环。for 语句的基本格式如下:for 循环变量 in 后面是 range 函数,冒号表示判断是否完成循环的条件。回车紧跟的是循环体,即反复执行的语句或语句组,这里的 for 和 in 是关键字,在 range 函数后面是冒号。循环体内执行语句或语句组前面是有缩进的,为 4 个空格。range 函数的作用是生成某个范围内的数字列表,一般从 0 开始生成列表。如果 range 函数括号中是一个数,如 range(5),表示生成从 0 到 4 共 5 个数的列表。如果 range 函数括号中是用逗号分开的两个数字,如 range(1, 6),这会生成从 1 到 5 共 5 个数的列表。如果把上面的 range 函数放在 for 语句中,循环体语句都是需要反复执行 5 次。

  关于列表的内容,我们稍后介绍。活动一的 for 语句如下:for i in range(5): 缩进后是需要反复执行的语句,(1 + rate)的和乘以 money 的积赋值给 money,表示这个循环语句执行 5 次,这样就可以使用 for 循环语句来解决计算 5 年后到期的存款总额的问题。

  第五,最后一个问题,输出存款 5 年后到期的存款总额,对应的程序代码为:使用 print 语句把存款总额和 money 的数值输出到屏幕。print 语句中有两个输出项,“存款总额”字符串,用双引号表示,文本用逗号与 money 的值隔开。这里用到的是前面学习的输出语句。下面是活动一的程序代码,针对刚才重复执行 5 次求解 5 年后到期的存款总额的语句,使用了循环结构的 for in range 计数循环语句来求解。我们来运行一下活动一的程序代码。

  现在我们在 idle 编辑器打开活动一的程序代码。前三个步骤分别是使用变量 money、rate、years 存放金额、利率、存款年数的数值。第四个步骤使用循环结构求解,在这里使用的是 for in range 语句,for i in range(years): 回车后,下一行的代码会自动缩进 4 个空格,循环体内的语句就是计算存款总额,(1 + rate)的和乘以 money 的积赋值给 money。

  第五个步骤是使用 print 语句把存款总额和 money 输出到屏幕。print 语句中有两个输出项,“存款总额”字符串,用单引号或双引号表示文本,用逗号与 money 的值隔开。下面我们在 Run 菜单选中 Run module,在 idle shell 窗口看到程序运行的结果,能正常输出存款总额 58,670 多,这表示程序代码能正确求解活动一的问题。

>> 点击阅读全文
《信息技术 必修1 2.3周而复始的循环(第一课时) 逐字稿-4,420字 第5版》.docx
将本文下载保存,方便收藏和打印
导出文档