第二单元 编程计算2.1计算机解决问题的过程2.2 作出判断的分支2.3周而复始的循环(第1课时)2.4可以复用的代码学习重点:学习重点:1.掌握计数循环的基本结构2.学会计数循环的使用方法3.用计数循环编写简单的程序解决问题循环循环1.概念:计算机程序中某些代码的反复执行2.分类:计数循环:重复一定次数(for)条件循环:重复到某种情况结束 (while)PythonPython基本语句基本语句-循环语句(循环语句(forfor)列表列表列表包含多个数据元素,同时它是一个有序的集合(存储有序对象的对象)内置函数内置函数建立列表:list=“You”,“are”,“why”,“小明”,1,2,3打印列表:print(list)获取元素:list索引号,如list0为“You”。print(list0)增加元素(在列表末尾):list.appendappend(“friend”)插入元素:list.insertinsert(2,“my”)删除元素:list.removeremove(“why”)或deldel list2列表逆序:list.reversereverse()列表排序:list.sortsort()#各元素用逗号逗号隔开,放在方括号方括号内#列表可存储混合类型的数据(整数、字符串、列表等)思考差异?list=“why”,“are”,“why”list.removeremove(x)表示在列表中删除首次出现的指定元素xobject=石榴,1,香蕉,橙子#创建列表object0=苹果#修改修改列表第第1个个元素的值,注意列表索引号从0开始del object1#删除列表第2个元素object.append(猕猴桃)#在列表尾部添加列表尾部添加一个数据元素”弥猴桃object.insertinsert(2,火龙果)print(object)#输出列表运行结果运行结果运行结果运行结果:石榴,1,香蕉,橙子苹果,1,香蕉,橙子苹果,香蕉,橙子苹果,香蕉,橙子,猕猴桃苹果,香蕉,火龙果,橙子,猕猴桃动手试一试动手试一试list=苹果,香蕉,火龙果,橙子,猕猴桃print(list)运行结果:苹果,香蕉,火龙果,橙子,猕猴桃怎么输出列表中所有的对象怎么输出列表中所有的对象?输出整个列表输出整个列表输出整个列表输出整个列表苹果苹果香蕉香蕉火龙果火龙果橙子橙子猕猴桃猕猴桃例如:例如:print(list0)print(list1)print(list2)print(list3)print(list4)?计数循环计数循环循环重复次数一定时,我们通常称为计数循环计数循环计数循环计数循环。在python中,使用for for for for 语句语句语句语句来创建这类循环。for语句的基本格式如下。for i in 苹果,香蕉,火龙果,橙子,猕猴桃:print(i)list=苹果,香蕉,火龙果,橙子,猕猴桃for i in list:print(i)f for or 循环变量循环变量 in in 列表列表:语句或语句组语句或语句组一组重复执行的语句称为一组重复执行的语句称为循环体循环体。循环体循环体必须相对关键词必须相对关键词for有有缩进缩进。(列表中元素个数决定循环次数)(列表中元素个数决定循环次数)苹果苹果香蕉香蕉火龙果火龙果橙子橙子猕猴桃猕猴桃12range()函数例:下面这个循环输出例:下面这个循环输出0 0到到100100的自然数。的自然数。for ifor i in range(0,101):in range(0,101):print(i)print(i)range()函数函数,它可以生成某个范围内的数字列表。例如:range(1,6)就会生成1,2,3,4,5这样一个列表,range(8)会生0,1,2,3,4,5,6,7这样一个列表。range(start,stop,step)range(start,stop,step)参数说明:start:计数从 start 开始。默认从 0 开始。例如range(5)等价于range(0,5)stop:计数到 stop 结束,但不包括 stop。例如:range(0,5)是0,1,2,3,4step:步长,默认为1。例如:range(0,5)等价于 range(0,5,1)左闭右开左闭右开填空:list=苹果,香蕉,火龙果,橙子,猕猴桃for i in range(0,):print(listi)5练习时刻练习时刻要求:按照次序逆序输出自己输入的6个数 (逆序输出.py)(1)输入6个数;(2)从小到大排序;提示:list.sort()(3)按照次序逆序输出。提示:list.reverse()答案代码:list=for i in range(6):x=int(input(请输入第+str(i+1)+个数据:)list.append(x)#list.append(x)#增加元素增加元素(在列表末尾在列表末尾)print(list)list.sort()#list.sort()#列表排序列表排序print(list)list.reverse()list.reverse()#列表逆序列表逆序print(list)input(按任意键结束.)判断胖不胖判断胖不胖.py如何判断如何判断100个人胖不胖呢?个人胖不胖呢?求1+2+3+100:_for i in _ for i in _ _ _print(s)print(s)s=0range(1,101):s=s+i巩固练习那求1*2*3*100呢?开始结束s=s+iNs=0,i=1Yi=i+1i=100输出s初始值初始值初始值s=1s=1循环体循环体s=s*is=s*i循环体s=0+1+2+.+100累加求和巩固练习如果小明爸爸将五万元存入银行,选择”1年定期、自动转存“的存款方式,假设 5 年存款利率不变,均为3.25%,5 年后到期存款总额是多少?(银行存款.py)第1年 存款总额=本金(1+3.25%)第2年 存款总额=第1年存款总额*(1+3.25%)第3年 存款总额=第2年存款总额*(1+3.25%)第4年 存款总额=第3年存款总额*(1+3.25%)第5年 存款总额=第4年存款总额*(1+3.25%)代码:代码:money=float(input(money=float(input(请输入本金(元):请输入本金(元):)for i in range(1,6):for i in range(1,6):money=money*(1+0.0325)money=money*(1+0.0325)print(5 print(5年后的存款总额:年后的存款总额:,money,money,元元)money0=50000money1=money0*(1+3.25%)money2=?money3=?money4=?money5=?注意print()的缩进与否,结果一样吗?如果小明爸爸首次存款利率是3.25%,自动转存时利率分别是3%、3%、2%、1.75%,那么5年后到期存款总额是多少?50000 50000 0.0325,0.03,0.03,0.02,0.01750.0325,0.03,0.03,0.02,0.0175 i in rate:i in rate:money=(money*(1+i)money=(money*(1+i)money=round(money,2)money=round(money,2)round(x,2)函数:四舍五入保留两位小数round(x)/round(x,0)函数:四舍五入到最接近的整数Thanks