资源简介 (共38张PPT)BIG DATA4.4.2while循环的应用第四章授课人:XXXTWOwhile循环的应用02while循环——条件循环for循环的作用原理:基于条件只要条件满足,就不断循环;否则,就退出循环。执行过程循环语句表达式?YN注意:表达式的值为真(True)或者假(False)while循环——条件循环while (表达式):语句或语句组语句格式语法注意:①英文状态下冒号“:”②循环体的缩进循环控制条件循环体实践(1)该流程图中,循环控制条件是什么?循环体包含了哪些语句?阅读流程图,完成以下问题开始i<=3 输出“重要的事情说三遍”结束输出“输出完毕”YNi=1i=i+1实践(1)该流程图中,循环控制条件是什么?循环体包含了哪些语句?阅读流程图,完成以下问题开始i<=3 输出“重要的事情说三遍”结束输出“输出完毕”YNi=1i=i+1循环控制条件: i<=3循环体: 输出“重要的事情说三遍”i=i+1实践(2)用Python实现该流程图,代码如下:阅读流程图,完成以下问题开始i<=3 输出“重要的事情说三遍”结束输出“输出完毕”YNi=1i=i+1i=1while ① :print(“重要的事情说三遍”)②print(“输出完毕”)实践(2)用Python实现该流程图,代码如下:阅读流程图,完成以下问题开始i<=3 输出“重要的事情说三遍”结束输出“输出完毕”YNi=1i=i+1i=1while :print(“重要的事情说三遍”)print(“输出完毕”)i<=3i=i+1实践i=1while :print(“重要的事情说三遍”)print(“输出完毕”)i<=3i=i+1程序执行过程① i=1 1<=3 输出(“重要的事情说三遍”) i=2② i=2 2<=3 输出(“重要的事情说三遍”) i=3③ i=3 3<=3 输出(“重要的事情说三遍”) i=4④ i=4 4<=3 结束循环实践(3)如果缺失语句 i=i+1,程序的运行结果将会怎样?请上机验证:阅读流程图,完成以下问题开始i<=3 输出“重要的事情说三遍”结束输出“输出完毕”YNi=1i=i+1i=1while :print(“重要的事情说三遍”)print(“输出完毕”)i<=3i=i+1死循环缺少改变条件表达式值的语句实践注意从键盘分别输入体重、身高,请你编写程序计算BMI指数,并根据BMI指数判断属于哪一体重状态。轻体重:BMI<18.5正常体重:18.5<=BMI<24超重:24<=BMI<28肥胖:BMI>=28实例:根据BMI指数判断体重状态4.0优化功能:可实现重复5次输入体重、身高并判断体重状态实例:根据BMI指数判断体重状态4.0w=float(input("请输入体重:"))h=float(input("请输入身高:"))bmi=w/h**2print("BMI指数为:",bmi)if bmi<18.5:print(“轻体重”)elif bmi<24:print(“体重正常”)elif bmi<28:print(“超重”)else:print(“肥胖”)①循环条件:需要重复执行5次②循环体:输入体重、身高、判断身体状态for i in range(5):修改程序:将for循环改为使用while循环实例:根据BMI指数判断体重状态4.0w=float(input("请输入体重:"))h=float(input("请输入身高:"))bmi=w/h**2print("BMI指数为:",bmi)if bmi<18.5:print(“轻体重”)elif bmi<24:print(“体重正常”)elif bmi<28:print(“超重”)else:print(“肥胖”)i=1while i<=5:i=i+1①循环条件:需要重复执行5次②循环体:输入体重、身高、判断身体状态修改程序:将for循环改为使用while循环实例:根据BMI指数判断体重状态4.0实例:根据BMI指数判断体重状态5.0w=float(input("请输入体重:"))h=float(input("请输入身高:"))bmi=w/h**2print("BMI指数为:",bmi)if bmi<18.5:print(“轻体重”)elif bmi<24:print(“体重正常”)elif bmi<28:print(“超重”)else:print(“肥胖”)a=int(input("请输入1或0:"))while a==1:a=int(input("请输入1或0:"))能力提升实现可反复执行输入体重、身高、判断体重状态(注意要避免死循环)程序对比w=float(input("请输入体重:"))h=float(input("请输入身高:"))bmi=w/h**2print("BMI指数为:",bmi)if bmi<18.5:print(“轻体重”)elif bmi<24:print(“体重正常”)elif bmi<28:print(“超重”)else:print(“肥胖”)i=1while i<=5:i=i+1w=float(input("请输入体重:"))h=float(input("请输入身高:"))bmi=w/h**2print("BMI指数为:",bmi)if bmi<18.5:print(“轻体重”)elif bmi<24:print(“体重正常”)elif bmi<28:print(“超重”)else:print(“肥胖”)for i in range(5):for循环和while循环for循环:也叫计数循环,循环指定次数,达到次数后结束循环while循环:也叫条件循环,满足某个条件时可以循环, 条件不满足时则结束循环。循环次数不确定注意:for循环可以被改写为while循环思考编写一个程序判断1加到多少的和会超过100。1.分析问题这个问题相当于:1+2+3+4+……+ >= 100从1加到多少的和其实也是个累加的过程,即是在循环,应该选择for循环还是while循环呢?次数不确定,选择while循环思考编写一个程序判断1加到多少的和会超过100。2.设计算法①需要有一个变量从1开始变化,设该变量为i给i赋初值为1:i=0 过程中i要逐次变化: i=i+1②需要有一个临时变量存储累加的结果,设该变量为sum给sum赋初值为0:sum=0过程中sum逐次与i进行加法运算:sum=sum+i思考编写一个程序判断1加到多少的和会超过100。3.编写程序i=0sum=0while ① :②sum=sum+iprint(“1加到”,i,”的和会超过100”)开始 结束输出 iYNi=0,sum=0sum=sum+ii=i+1思考编写一个程序判断1加到多少的和会超过100。3.编写程序i=0sum=0while :sum=sum+iprint(“1加到”,i,”的和会超过100”)开始sum<=100?结束输出 iYNi=0,sum=0sum=sum+ii=i+1sum<=100i=i+1练习项目小组为了筹集购买奖品和纪念品的费用,准备开展一次募捐活动,计划向第一个赞助人募集20元,向第二个赞助人募集25元……后一个比前一个多募捐5元,依次下去,第几个人募捐后募集到的总费用累计超过500元?1.分析问题相当于要去计算:20+25+30+…+ >500需要几个变量:募捐的人数num,每次募集的费用money,每次募集后的总费用sum练习2.设计算法①给num、money、sum赋初值num=1;money=20;sum=20② num、money、sum每次募捐后的变化num=num+1money=money+5sum=sum+money③如果sum<500,则返回第②步④输出num的值⑤结束3.编程程序练习2.设计算法①给num、money、sum赋初值num=1;money=20;sum=20② num、money、sum每次募捐后的变化num=num+1money=money+5sum=sum+money③如果sum<500,则返回第②步④输出num的值⑤结束3.编程程序num=1money=20sum=20while sum<500:num=num+1money=money+5sum=sum+moneyprint(num)练习4.调试运行程序练习1.下列有while循环结构的说法不正确的是( )A.执行过程中表达式一般是一个关系表达式或逻辑表达式 B.while循环格式一般为:while(表达式):语句或者语句组C.表达式为真执行循环体;为假退出循环D.表达式为假执行循环体;为真退出循环DD.表达式为假执行循环体;为真退出循环练习2.下列流程图中不包含循环结构的是( )。D练习3.下列Python程序段执行后,语句s=s+1执行的次数是( )s=0while s<4:s=s+1print (s)A.1次 B.2次 C.3次 D.4次DD.4次练习4. 输入345,输出结果正确的是( )n=int(input("请输入一个整数:"))s=0while n != 0:s=s+n%10n=n//10print (s)A. 14 B. 13 C. 12 D. 11CC. 12练习练习5.已知小周有一些压岁钱,他想通过银行储蓄增值。问:存多少年,才能达到预期的数额?储蓄规则:(1)存期以一年为单位,存款以元为单位:(2)一年期的存款利率均为3%(不考虑利率调整)。打开文件夹中的“P2.py”文件,编写正确的代码、完善该程序,实现输入本金金额p、预期数额q,输出需要储蓄年数n的功能,调试完成后保存“P2.py”文件。练习例子:输入输出样例如下:练习#注释:在注释下方编写代码实现功能:输入本金p和预期数额q,计算需要储蓄的年数nn=0 #储蓄年数n置初值0p=float(input("请输入本金金额:"))q=float(input("请输入预期数额:"))#请在以下区域编程#以下是输出语句、不能更改print("需要储蓄(年数):",n)练习#注释:在注释下方编写代码实现功能:输入本金p和预期数额q,计算需要储蓄的年数nn=0 #储蓄年数n置初值0p=float(input("请输入本金金额:"))q=float(input("请输入预期数额:"))#请在以下区域编程#以下是输出语句、不能更改print("需要储蓄(年数):",n)while pn=n+1p=p*(1+0.03)练习BIG DATA那就下次再聊吧~第四章授课人:XXX 展开更多...... 收起↑ 资源预览