1、2.3 周而复始的循环 活动1 计算利率不变情况下的到期存款总额 如果将5万元存入银行,选择“1年定期、自动转存”的存款方式,假设5年内存款利率没有发生变化,均为3.25%,5年后到期存款总额是多少?在程序中,暂不考虑存款分位以下的四舍五入。第1年 50000*(1+0.0325)=51625第2年 51625*(1+0.0325)=50000*(1+0.0325)*(1+0.0325)=50000*(1+0.0325)2第3年 50000*(1+0.0325)3第4年 50000*(1+0.0325)4第5年 50000*(1+0.0325)5 程序代码:p=50000#本金50000元 r
2、ate=0.0325#1年定期利率3.25%year=5#存款期限 money=p*(1+rate)*year#计算存款总额 print(5年以后存款总额:,money,元)#输出结果 input(运行完毕,请按回车键退出.)活动2 计算利率变动情况下的到期存款总额 如果首次存款时的利率是3.25%,自动转存时利率分别是3%、3%、2%、1.75%,那么5年后到期存款总额是多少?由于每年的利率不同,如果都存储在变量中,那么需要5个变量,这时可以借助列表来实现。整整 数数 int浮点数浮点数 float字符串字符串 str列列 表表 list列表可以包含多个数据元素,它是一个有序的集合。列表可以
3、包含多个数据元素,它是一个有序的集合。创建列表,创建列表,放在方括号内,各元素用逗号隔开。各元素用逗号隔开。a=“石榴石榴”,1,”香蕉香蕉”,”橙子橙子”,”梨子梨子”列表可以存储列表可以存储混合类型混合类型的数据的数据列表索引号列表索引号从从0 0开始开始a0a1 a2a3a4a=“石榴石榴”,1,”香蕉香蕉”,”橙子橙子”,”梨子梨子”a0=”苹果苹果”a=“苹果苹果”,1,”香蕉香蕉”,”橙子橙子”,”梨子梨子”del a1a=“苹果苹果”,”香蕉香蕉”,”橙子橙子”,”梨子梨子”#修改列表第修改列表第1个元素个元素#删除删除列表第列表第2个元素个元素a.append(“猕猴桃猕猴桃”
4、)#在列表尾部添加一个数据元素在列表尾部添加一个数据元素“猕猴桃猕猴桃”a=“苹果苹果”,”香蕉香蕉”,”橙子橙子”,”梨子梨子”,”猕猴桃猕猴桃”print(a)#输出列表输出列表已知列表已知列表x=1,2,3,4x=1,2,3,4,那么执行语句,那么执行语句del x1del x1之后之后x x的值为(的值为()A.2,3,4A.2,3,4B.1,2,3,4B.1,2,3,4C C.1,3,4.1,3,4D.2,3,4D.2,3,4C C找规律 用列表表示各年的利率,即rate=0.0325,0.03,0.03,0.02,0.0175。那么存款总额的计算公式是:本金*(1+rate 0)*
5、(1+rate 1)*.*(1+rate4)。存款期限越长,公式就越复杂。有没有其他解决方法呢?请分析每年的存款变化,从中寻找规律。第1年 存款总额=本金*(1+第1年利率)第2年 存款总额=上一年存款总额*(1+第2年利率)第3年 存款总额=上一年存款总额*(1+第3年利率)第n年 存款总额=上一年存款总额*(1+第n年利率)循环结构循环就是重复地执行某些语句。程序中的循环次数是有限的,由循环条件决定可以确定循环次数。python提供了2种循环结构语句:for语句 while语句计数循环(for循环)循环重复次数一定时我们通常称为计数循环 在python中,使用for语句来创建这类循环。格式
6、:举个例子:for i in hello,world:print(i)#循环体input(运行完毕,请按回车键退出.)在本例中,循环体只有一条语句,即print(i)。循环执行时,依次将列表中的元素赋给i,并且执行循环体(输出i的值),直到整个列表的元素被取完,循环结束循环体:重复执行的语句。循环体必须相对关键字 for有缩进。(4个空格或一个Tab键for 循环变量循环变量 in 列表列表语句或语句组语句或语句组循环次数 根据前面分析得出的规律,可以使用计数循环来实现每年存款总额的重复计算。循环的次数即为存款的年限。遵循for语句的格式,完善下列程序代码。money=50000#本金5000
7、0元 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(运行完毕,请按回车键退出.)因为银行支付利息计至分位,分位以下四含五入,所以可以调用round()函教实现保留两位小数。例如,round(1.428,2)的运 算结果为1.43。很多银行人民币理财产品的收益高于同期定期存款,但是高收益往往伴随高风险,因此很多普通投資者会选择收益相对稳定、风险较低的保证收益型理财产品。0,1,2,3,4,5数字数
8、字05列表列表数字数字0100列表列表?range()在for语句中,in后也可以是range()函数,它可以生成某个范围内的数字列表。range()函数可以创建一个整数列表函数可以创建一个整数列表range()函数语法:函数语法:range(start,stop,step)计数从计数从start开始开始(默认是默认是0),到到stop结束,但不包括结束,但不包括stop,step步长默认为步长默认为1。range(5)range(0,5,1)0,1,2,3,4#从从0开始到开始到5,步长为,步长为1range(1,4)1,2,3range(0,20,5)0,5,10,15range(10,0
9、,-2)10,8,6,4,2列表列表range(7,10)range(7,10)中元素的个数是(中元素的个数是()A.7A.7B.B.3 3C C.4.4D.10D.10B B下列代码中循环体执行的次数是(下列代码中循环体执行的次数是()for i in range(1,5):for i in range(1,5):print(i)print(i)A.1A.1B.2B.2C C.4.4D.5D.5C C下面程序段运行后显示的结果是(下面程序段运行后显示的结果是()s=0for i in range(6):s=s+iprint(s)A.10B.15C.20D.25Bs=0i=0s=0i=1s=1i=2s=3i=3s=6i=4s=10i=5s=15以下是s=1+2+3+100的程序代码,请补全程序。s=0range(1,101):s=s+i以下是s=1*2*3*100的程序代码,请补全程序。s=1range(1,101):s=s*i执行下列程序后的结果是()s=0for i in range(1,5):i=i+2s=s+iprint(s)A.15B.10C.18D.8s=0i=1i=3s=3i=2i=4s=7i=3i=5s=12i=4i=6s=18C C