(
课件网) 2.3周而复始的循环 条件循环 第二单元 计算机程序中某些代码的反复执行。 for 循环变量 in 序列: 语句或语句组 一、程序中的循环 二 、计数循环:循环重复次数确定。 三 、列表、range()函数 学习目标 1.2 数据的计算 了解条件循环的基本结构 学会条件循环的使用方法 运用条件循环的语句编写简单的程序解决问题。 项目任务:计算理财产品收益 某投资者购买了10万元一年期收益率3.7%的银行保证收益型理财产品。每年理财赎回后,会提取2万元用作生活所需,余下资金仍购买此种理财。在收益率不变的情况下,多少年后资金被全部取出 money: 理财账户当前的资金数量 本金: money =100000 满足 money>0, 一年后: money =m ney*(1+0.037)-20000 满足 money>0, 两年后: money =m ney*(1+0.037)-20000 ■■■ 满足 money>0, i 年后: money = money*(1+0.037)-20000 不满足 money>0, i 年以后资金被全部取出。 一、分析问题 二 设 计 算 法 N 开始 money = 100000 year = 0 money>0 Y money=money*(1+0.037)-20000 year=year+1 输出year 结束 1、谁被重复执行? 2、被重复执行几次? 3、while循环什么时候终止? 思考: 条件循环 概念:条件循环一般用于循环次数未知的情况,只有当循环条件成立时,才执行循环体,使用while语句来创建。 While循环所做的概括为一句话:只要…条件成立,就一直做… while 关系表达式: 语句或语句组 基本格式: 关键字 成立的条件 冒号 缩进 循环体 当循环条件成立时,才执行循环体。 条件循环: 要点: 1、一般用于循环次数未知 2、当关系表达式为真时保持循环,直到其为假时停止整个while循环。 3、循环体中必须有改变条件表达式值的语句,否则将会变成死循环。 探究新知———条件循环 运行结果: 10 20 30 40 s=0 Whiles s<=30: s=s+10 print(s) (变量s初值为0) (判断”s<=30”是否成立) (成立则执行循环体,s值增加10) (输出s的值) (不断重复直到“s<=30”不成立,退出循环) 流程图 开始 s=0 s<=30 s=s+10 输出s 结束 是 否 money=① #本金100000 year=0 #理财年数赋初值为0 while ②: money=round(money*(1+0.037),2)-20000 #计算新的理财金额 ③ #理财年数加1 print(year,"年后资金被全部取出") #输出结果 input("运行完毕,请按回车键退出...") 完成任务一:将下列程序补充完整,计算利率不变情况下的存款总额 三、编写程序 四、调试运行 条件循环与计数循环 由于while循环不记录循环的次数,如果需要借用循环次数信息,必须在代码中增加计数器,并通过语句修改计数器的值。否则容易导致死循环 计数循环 条件循环 VS for 循环变量 in 列表: 循环体(语句或语句组) 格式: 格式: while 关系表达式: 循环体(语句或语句组) 循环次数明确 循环次数未知 值永远为True s=0 for i in range(101): s=s+i print(s) for 循环 1+2+3+……100 使用while 循环编写程序计算1+2+3……100 while 循环 s=0 i=① while ②: s=s+i ③ print("1+2+3……100=",s) 课堂练习 课堂小练 1. 如下Python程序段 x = 0 while x < 50: x = (x + 2) * (x + 3) 运行后,x的值为( ) A、0 B、72 C、50 D、168 练习1 B ①0<50 x = (x + 2) * (x + 3) ==>x=6 ②6<50 x = (x + 2) * (x + 3) ==>x=72 ③72<50 不成立,跳出循环 课堂小练 2. 下列Python程序段运行后,变量b的值是 ( ) a = 1 b = 2 while a
b=2 a=a-b ==>a=-1 ② -1<2 b = a * b ==>b=-2 a=a-b ==>a=1 ③1<-2 不成立,跳出循环 ... ...