2.3 周而复始的循环 课件(共22张PPT)

文档属性

名称 2.3 周而复始的循环 课件(共22张PPT)
格式 zip
文件大小 862.9KB
资源类型 教案
版本资源 教科版(2019)
科目 信息技术(信息科技)
更新时间 2020-03-06 09:58:03

图片预览

文档简介

课件22张PPT。2.3 周而复始的循环第二单元 编程计算
复习巩固三种基本算法的流程图
顺序结构:按照自上而下的先后顺序依次执行程序的语句。
分支结构:根据给定的条件进行判断的结构
循环结构:重复某一部分操作的结构 对人来说,长时间重复做同一件事情,通常会觉得不愉快,且效率会有所下降。但计算机往往不知疲倦,非常适宜用重复的方式完成任务。我们将计算机程序中某些代码的反复执行称为循环。Python中既有重复一定次数的计数循环,也有重复到某种情况结束的条件循环。学习目标★了解循环的基本结构。
★学会计数循环的使用方法。
★学会条件循环的使用方法。
★熟练使用循环解决实际问题。
通过计算银行储蓄存款收益,了解循环的基本概念,掌握列表的功能和常见操作,掌握计数循环的般格式和使用方法;
通过计算理财产品收益,了解条件循环的一般格式和使用方法;
通过问题求解,掌握用循环解决实际问题的方法,感受计算机程序在提高问题解决效率中的作用。 随着“理财时代”的到来,“你不理财,财不理你”成为人们的一句口头禅。我国金融市场日益繁荣,为个人投资者提供的投資理财产品和渠道越来越多。
本节我们将围绕“学习投资理财”项目展开学习,通过该项目活动,了解循环的作用,学习如何根据问题的需要选择恰当的循环类型,如何准确设置循环条件和编写循环语句块。
本项目主要包含“计算5年储蓄存款收益”和“计算理财产品收益”两个任务。
任务一、 计算五年储蓄存款的收益※活动1 计算利率不变情况下的到期存款总额
如果将5万元存入银行,选择“1年定期、自动转存”的存款方式,假设5年内存款利率没有发生变化,均为3.25%,5年后到期存款总额是多少?在程序中,暂不考虑存款分位以下的四舍五入。自动转存自动转存:存款到期后,客户如不办理转存手续,银行可自动将到期的存款本息按相同存期一并转存,不受次数限制,续存期利息接前期到期日利率计算。列表列表在Python中的作用非常强大,它可以包含多个数据元素,同时它是一个有序的集合。下面通过一个简单的例子来熟悉列表的使用方法。
#创建列表,各元素用逗号隔开,放在方括号内
#列表可以存储混合类型的数据
object=["石榴",1,"香蕉","橙子","梨子"]
#修改列表第1个元素的值,注意列表索引号从0开始
object[0]="苹果"
del object[1] #删除列表第2个元素
#在列表尾部添加一个数据元素"猕猴桃"
object.append("猕猴桃")
print (object) #输出列表
input("运行完毕,请按回车键退出...")
※活动2 计算利率变动情况下的到期存款总额
如果首次存款时的利率是3.25%,自动转存时利率分别是3%、3%、2%、1.75%,那么5年后到期存款总额是多少?
由于每年的利率不同,如果都存储在变量中,那么需要5个变量,这时可以借助列表来实现。
找规律用列表表示各年的利率,即
rate=[0.0325,0.03,0.03,0.02,0.0175]。那么存款总额的计算公式是:本金*(1 + rate [0] )*(1 + rate [1] ) *... *(1 +rate[4])。存款期限越长,公式就越复杂。有没有其他解决方法呢?
请分析每年的存款变化,从中寻找规律。
第1年 存款总额=本金* ( 1+第1年利率)
第2年 存款总额=上一年存款总额* ( 1+第2年利率)
第3年 存款总额=上一年存款总额* ( 1+第3年利率)
…………
第n年 存款总额=上一年存款总额* (1+第n年利率)公式具有相似性,采用循环语句是常用方式循环结构?循环就是重复地执行某些语句。
?程序中的循环次数是有限的,由循环条件决定可以确定循环次数。
? python提供了2种循环结构语句:
① for语句
② while语句计数循环 循环重复次数一定时我们通常称为计数循环在python中,使用for语句来创建这类循环。格式:
for 循环变量 in 列表
语句或语句组
举个栗子:
for i in ["hello","world"]:
print (i) #循环体

input("运行完毕,请按回车键退出...") 通常我们将一组重复执行的语句称为循环体。Python对循环体约定的格式是,循环体必领相对关键词for有缩进。在本例中,循环体只有一条语句,即print(i)。循环执行时,依次将列表中的元素赋给i,并且执行循环体(输出i的值),直到整个列表的元素被取完,循环结束。
在for语句中,in后也可以是range()函数,它可以生成某个范围内的数字列表。例如: range(1 ,6)就会生成[1,2,3,4,5]这样一个列表,而range(8)会生成[0,1,2,3,4,5,6,7]这样一个列表。下面这个循环可以输出0到100的自然数。
for i in range(101): #想想为什么是101
print (i)

input("运行完毕,请按回车键退出...")根据前面分析得出的规律,可以使用计数循环来实现每年存款总额的重复计算。循环的次数即为存款的年限。因为银行支付利息计至分位,分位以下四含五入,所以可以调用round()函教实现保留两位小数。例如,round(1.428,2)的运 算结果为1.43。
遵循for语句的格式,完善下列程序代码。
money = 50000 #本金50000元
rate=[0.0325,0.03,0.03,0.02,0.0175] #利率列表
for i in rate:
money=round(money*(1+i),2) #计算每年存款额
print("5年以后存款总额:",money,"元") #输出结果
input("运行完毕,请按回车键退出...")
很多银行人民币理财产品的收益高于同期定期存款,但是高收益往往伴随高风险,因此很多普通投資者会选择收益相对稳定、风险较低的保证收益型理财产品。
任务二 计算理财产品收益 某投资者购买了10万元一年期收益率3.7%的银行保证收益型理财产品。每年理财赎回后,他会提取2万元用作生活所需,余下资金仍购买此种理财。在收益率不变的情况下,多少年后本金被全部取出?
理财一年到期赎回,投資者取出2万元。即money- round(money*(1+0037)2)-20000重复执行该语句,就可以计算连续若千年后的资金余额。但投资多少年是未知的,即循环的次数无法确定, :因此使用计数循环不太合适。这时可以考虑使用条件循环来解决该问题。
条件循环条件循环一般用于循环次数未知的情况只有当循环条件成立时,才执行循环体在python中,用while语句。
格式: while 关系表达式:
语句或语句组
s=0
while s<=30:
s=s+10 #循环体
print(s) #循环体

input("运行完毕,请按回车键退出...")While 关系表达式 举个栗子i=0
while i<5:
i=i+1
print(i)

i=0
while i<5:
print(i)
i=i+1 在本例中,循环体是两条语句,因此这两条语句相对于关键词while均要缩进。程序执行过程是:变量s初值为0,判断“s<=30" 是否成立,如果成立则执行循环体( s值增加10,输出s的值),不断重复直到“s<=30”不成立,退出循环。 在此我们需要特别关注语句“s=s+10”。
在编程时,形如"s=s+x”的语句可以起到累加的作用,如果x=1,即s=s+1可以起到计数的作用。一般在使用累加器或计数器时将变量赋初值为0。
也有一类特殊的关系表达式,如数字0表示假,非0数字表示真。如果循环是以“while 1:"开头,那么在不加干预的情况下,程序就会“不知疲倦”地一直执行下去。如果你想停止这个程序,按快捷键Ctrl+C即可。通常情况下,我们不会让程序陷入这种“死循环”的境地 在计算新的理财金额时,“本金未被 全部取出”可以作为循环的条件。遵循while语句的格式,完善下列程序代码,实现理财年致和金额的计算。
money=100000 #本金100000
year=0 #理财年数赋初值为0
while money>=0:
money=round(money*(1+0.037),2)-20000
#计算新的理财金额
year=year+1 #理财年数加1
print(year,"年后资金被全部取出") #输出结果
input("运行完毕,请按回车键退出...")
调试程序 编写程序时难免会出现错误,这时可以借助Python的调试器pdb。例如在程序开头加入语句"import pdb",然后,在适当的位置放-个"pdb.set. trace()" ,就可以设置-一个断点,让程序暂停运行,进入pdb 调试环境。这时我们可以用命令“p”查看变量,用命令“c"继续运行,用命令“q”结束调试,退出程序。import pdb
money=100000 #本金100000
year=0 #理财年数赋初值为0
while money>=0:
money=round(money*(1+0.037),2)-20000 #计算新的理财金额
year=year+1 #理财年数加1
pdb.set_trace()
print(year,"年后资金被全部取出") #输出结果
input("运行完毕,请按回车键退出...")
Thank You !本节课到此结束
谢谢大家!