1、2.3周而复始的循环While循环 第二课时回顾旧知,并运用例一:例一:s=0for i in range(101):s=s+iprint(s)例二:例二:m=1for i in range(1,11):m=m*2*iprint(m)思考:思考:(1)m、s的初值为什么分别设为的初值为什么分别设为1和和0?(2)range在程序中起了什么作用?在程序中起了什么作用?for循环适用于什么情况?次数明确的问题某投资者购买了某投资者购买了10万元一年期收益率万元一年期收益率3.7%的的银行保证收益型理财产品。每年理财赎回后,银行保证收益型理财产品。每年理财赎回后,他会提取他会提取2万元用作生活所需,
2、余下资金仍购万元用作生活所需,余下资金仍购买此种理财。在收益率不变的情况下,多少买此种理财。在收益率不变的情况下,多少年后本金被全部取出?年后本金被全部取出?练习练习2:计算收益思考:和上节课存钱例题比较,差异在哪里?思考:和上节课存钱例题比较,差异在哪里?条件循环?1.条件循环一般用于条件循环一般用于循环次数循环次数未知未知的情况。的情况。2.循环条件循环条件成立成立时,才执行循环体。时,才执行循环体。3.当关系表达式为真时当关系表达式为真时一直一直保持循环,直到其保持循环,直到其不不为真为真时时停止停止整个整个while循环。循环。一、一、while语句格式及功能语句格式及功能while
3、语句格式语句格式while 关系表达式关系表达式:语句或语句组语句或语句组例例3:s=0while s=30:s=s+10#循环体循环体print(s)#循环体循环体累加器累加器实践一:请同学运行循环求和实践一:请同学运行循环求和.py程序,并尝试修改。程序,并尝试修改。二、while循环编程关键点(1)和)和for循环类似,首先要考虑需要循环类似,首先要考虑需要循环执行的部分循环执行的部分。(2)考虑执行)考虑执行循环的条件循环的条件。(3)由于)由于while循环循环不记录不记录循环的循环的次数次数,如果需要借用循环次数信息,必,如果需要借用循环次数信息,必须在代码中须在代码中增加计数器增
4、加计数器,并通过语句修改计数器的值,这也是,并通过语句修改计数器的值,这也是while循环的循环的难点。难点。例如:求和1+2+3+100=?for 循环程序s=0for i in range(101):s=s+iprint(s)while循环程序循环程序s=i=while i=0,本金可以用常数表示,也可以存入变量增加程,本金可以用常数表示,也可以存入变量增加程序的通用性。序的通用性。由于需要知道年数,因此必须增加计数器。由于需要知道年数,因此必须增加计数器。实践:尝试补充代码 P38money=#本金本金100000year=#理财年数赋初值为理财年数赋初值为0while#计算新的理财金额
5、计算新的理财金额#理财年数加理财年数加1print(year,年后资金被全部取出年后资金被全部取出)#输出结果输出结果input(运行完毕,请按回车键退出运行完毕,请按回车键退出.)四、调试程序四、调试程序调试器调试器pdb 模块模块例如例如 importpdbpdb.set_trace()运行后运行后”p”命令查看变量命令查看变量运行后运行后”c”命令继续运行命令继续运行运行后运行后”q”命令退出程序命令退出程序拓展练习1投资人投入多少年钱可以恰好在第投资人投入多少年钱可以恰好在第10年取完最后一次年取完最后一次2万元?万元?五、总结循环的两种方式循环的两种方式:计数循环、条件循环。:计数循环、条件循环。根据实际情况选择合适的循环方式解决问题。根据实际情况选择合适的循环方式解决问题。拓展知识for循环嵌套:尝试打印出九九乘法表再见