资源简介 (共21张PPT)4.4运用循环结构描述问题求解过程目录For循环的应用While循环的应用循环嵌套的应用循环控制的应用4.4.14.4.24.4.34.4.4循环结构一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成循环结构可以简化编程结构,提高代码编写的效率。for 循环语句的一般格式for 循环变量 in 列表:语句1语句2语句3……遍历4.4.1 for循环的应用for语句通过遍历序列中的元素实现循环,序列中的元素会被依次赋值给变量,然后执行一次循环体,当序列中的元素全部遍历完时,程序会自动退出循环。for 循环变量 in 列表:语句1语句2语句3……遍历4.4.1 for循环的应用注意:for循环依次把列表中的每个元素逐个迭代出来冒号“:”代表下一行是循环的第一行,循环体在书写时需要缩进循环输出列表中的每个数示例:2021年奥运会正在举行,小张同学想输出中国奥运军团历届奥运会获得金牌数量,使用for循环能帮他快速完成这一任务。medal=[15,5,16,6,5,16,18,28,32,51,38,26]for i in medal:print(i)range()函数range()函数是让循环变量从指定的第一个值开始计数,并在到达所指的第二个值后停止计数,因此不包含第二个值。range([start],[stop],[step]),若没有步长值,默认为1range函数实际上返回的是一个整数列表for循环是将循环变量依次赋值为循环对象中的每一个元素range(1,6) → [1,2,3,4,5]range(1,6,2) → [1,3,5]问题1如何利用循环结构求解1到100的累加和?要计算从1到100内的奇数和,就是计算1+3+5+…+99,可以用for循环和range函数编程来解决这个问题。分析问题问题1如何利用循环结构求解100以内的奇数和?sum = 0for i in range(1,100,2):sum = sum + iprint(sum)解决问题while循环/条件循环while循环是当型循环,即将while翻译为“当……时”,只要条件满足,就不断循环;否则,跳出循环。格式while 表达式:语句1语句2语句3……每次循环都是执行完循环体语句后回到表达式处重新开始判断,重新计算表达式的值。一旦为假就跳出循环,为真时继续执行循环体语句。循环体中必须有改变条件表达式值的语句,否则将变成死循环一般是一个关系表达式或一个逻辑表达式,值为True或Falsewhile循环/条件循环上条语句表达式?循环语句下条语句NY执行过程:当表达式的值为真时,执行循环体语句;当表达式的值为假时,退出循环,执行循环体外的下一条语句(即while后面没有缩进的第一条语句)。注意缩进格式!问题2某班同学为河南暴雨灾害组织捐款,恰巧该班同学的捐款金额构成了一个等差数列,第一位同学捐款20元,第二位同学捐款30元……后一位比前一位多捐款10元,依次下去,请问第几个人捐款后募集到的总金额累计超过500元?捐款人数num个人捐赠money累计金额sumsum=20+30+40+……即:当sum>500时,求num的值分析问题设计算法开始num=1money=20sum=20num=num+1money=money+10sum=sum+money如果sum<=500,则返回步骤④输出num的值结束编写程序num=1 #捐款人数money=20 #个人捐赠钱数sum=20 #累积捐款金额while sum<=500: #当不超过500时num=num+1money=money+10 #money+=10sum=sum+money #sum+=moneyprint(num) #输出捐款人数画出流程图num=1sum<=500 num=num=1Money=money+10Ymoney=20sum=20sum=sum+money输出num12循环嵌套for循环嵌套for/while循环while循环嵌套for/while循环如果某一种循环语句中包含着其他循环语句,就称为循环“嵌套”。注意:for循环通过遍历循环对象进行计数循环;while循环通过判定条件进入循环;循环嵌套的作用:解决复杂的问题。循环嵌套外层循环内层循环注意:外层循环每一次循环计数,内层循环会完整地执行到循环结束;外层循环执行完时,整个嵌套循环才算结束。示例:for a in range(1,3):for b in range(1,3):print(a,b)运行结果:1 11 22 12 2问题3利用嵌套循环实现九九乘法表。分析问题外层循环的循环条件应该如何编写内层循环的循环条件应该如何编写内层循环的循环体包含哪些内容第一个乘数从1到9第二个乘数从1到第一个乘数打印乘法结果#for循环的嵌套for row in range(1,10):for col in range(1,row+1):print(row,"*",col,"=",row*col,end=" ")print()#换行设计算法、编写程序1 * 1 = 12 * 1 = 2 2 * 2 = 43 * 1 = 3 3 * 2 = 6 3 * 3 = 94 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 165 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 256 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 367 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 498 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 649 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81循环控制continue和breakcontinue语句continue语句是当条件符合需要跳转的时候,跳过该次循环结束前的语句,回到循环开头的条件判断部分,重新开始执行循环。break语句在循环结构中,可以用break语句跳出当前循环体,从而跳出当前循环,执行当前循环外的下一条语句。循环控制continue和break求解一下程序的输出结果(1)sum = 0for i in range(0, 10) :sum = sum + iif i == 5 :breakprint(sum)1到5的累加和(2)sum = 0for i in range(0, 10) :if i %2== 0 :continuesum = sum + iprint(sum)10以内的奇数和总结for循环:通过遍历序列中的元素以实现循环,常搭配range函数使用。while循环:又叫条件循环。只要条件满足,就不断循环;否则,退出循环。循环嵌套:某一种循环中包含另一种循环,就称为循环的嵌套。循环控制:break语句→跳出循环;continue语句→跳过本次循环,回到开头。 展开更多...... 收起↑ 资源预览