资源简介 (共15张PPT)2.3周而复始的循环1.循环概念:计算机程序中某些代码的反复执行循环分为两大类:计数循环:重复一定次数条件循环:重复到某种情况结束2.列表包含多个数据元素,同时它是一个有序的集合列表就是用来存储对象的对象,可以将多个对象有序存储#创建列表,各元素用逗号隔开,放在方括号内#列表可以存储混合类型的数据object=["石榴",1,"香蕉","橙子","梨子"]#修改列表第1个元素的值,注意列表索引号从0开始object[0]="苹果"del object[1] #删除列表第2个元素#在列表尾部添加一个数据元素”弥猴桃"object. append("猕猴桃")print (object) #输出列表运行结果:['苹果','香蕉','橙子','梨子',' 猕猴桃']2.列表建立列表:list=[〃You〃, 〃are〃, 〃why〃]增加元素在列表末尾:list.append(〃friend〃)插入元素:list.insert(2, 〃my〃)删除元素:list.remove(〃why〃)列表逆序:list.reverse()获取元素:list[索引号],如list[0]为〃You〃。打印列表:print list列表排序:list.sort()3.计数循环循环重复次数一定时,我们通常称为计数循环。Python中用for语句来创建这类循环。for 循环变量 in 列表:语句或语句组(循环体)语句格式for i in ["hello","world"]:print (i) # 循环体运行结果:helloworld一组重复执行的语句称为循环体。Python对循环体约定格式是,循环体必须相对关键词for有缩进。3.计数循环round()函数实现保留两位小数。例如,round(1.428,2)的运算结果为1.43。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):print (i)#想想为什么是1013.计数循环如果小明爸爸首次存款利率是3.25%,自动转存时利率分别是3%、3%、2%、1.75%,那么5年后到期存款总额是多少?50000[0.0325,0.03,0.03,0.02,0.0175]i in rate:money=round(money*(1+i),2)思考:循环体、循环次数、循环变量分别是什么?1.循环体:每年到期存款总额存款总额money=存款本金money*(1+年利率)2.循环次数:存款年限5次3.循环变量:利率。变量名i 。既能保证循环次数为5次,又能让利率rate每年变化。4.条件循环条件循环一般用于循环次数未知的情况。只有当循环条件成立时,才执行循环体。在Python中,使用while语句来创建这类循环。s=0while S<=30:S=S+10 #循环体print(s) #循环体运行结果:102030404.条件循环小明爸爸购买了10万元一年期收益率3.7%的银行保证收益型理财产品。每年理财赎回后,他会提取2万元用作生活所需,余下资金仍购买此种理财。在收益率不变的情况下,多少年后本金被全部取出?0money>=0:money=round(money*(1+0.037),2)-20000year=year+15.条件循环的关键点(1)和for循环类似,首先要考虑需要循环执行的部分。(2)考虑执行循环的条件。(3)由于while循环不记录循环的次数,如果需要借用循环次数信息,必须在代码中增加计数器,并通过语句修改计数器的值,这也是while循环的难点。如:while循环s=0i=1while i<=100:s=s+ii=i+1print(i)for 循环s=0for i in range(101):s=s+iprint(s)6.练习1.输入5个数,分别完成以下操作:(1)按照次序逆序输出;提示:list.reverse()(2)从小到大输出。提示:list.sort()参考答案:list=[]for i in range(5):x=input("请输入第"+str(i+1)+"个数据:")list.append(x)list.reverse()print(list)list.sort()print(list)6.练习2.完善程序,打印对联。上联:“国泰民安”,下联:“万象更新”,横批:“欢度国庆”。参考答案:listup=["国","泰","民","安"]listdown=["万","象","更","新"]listrow="欢度国庆"print(" ",listrow)for i in range(4):print(listup[i]," ",listdown[i])提示:上联、下联用字符串存储也可以。如:listup="国泰民安"。6.练习3.运行程序,反复要求输入验证码,直到输入为888为止。参考答案:pwd=0while pwd!="888":pwd=input("请输入正确的验证码:")6.练习4.某1年期理财产品实际收益率为4.25%,由于产品一直在持续运作,投资者不按时赎回视为自动再投资。在收益率不变的情况下,至少多少年后投资可以翻倍?money=100000year=0while money<200000:money=round(money*(1+0.0425),2)year=year+1print(year,"年后资金翻倍")thanks!谢谢 展开更多...... 收起↑ 资源预览