1、2.3 周而复始的循环 while条件循环 学习目标 了解while循环的基本结构。独立或在指导下完成while语句的编写 身体质量指数BMI-BMI:Body Mass Index 国际上常用 的衡量人体肥胖和健康程度的重要标准,主要用于统计分析。-定义 BMI=体重(kg)/身高2(m2)分类分类 国际国际BMIBMI值值 国内国内BMIBMI值值 偏瘦 18.5 18.5 正常 18.525 18.524 偏胖 2530 2428 肥胖 30 28 以输出国内BMI指标分类信息为例画出流程图 国际:世界卫生组织 国内:国家卫生健康委员会 问题需求:-输入:给定体重和身高值-输出:BMI指
2、标分类信息 身体质量指数BMI 思考:怎么修改这个程序来实现多次测试BMI值?画出流程图。条件循环 条件循环,当循环条件成立时,才执行循环。一般用于循环次数未知的情况。While循环语句的格式:While(表达式):语句或语句组 当表达式的值为真时,执行循环体语句;当表达式的值为假时,退出循环,执行循环体外的下一条语句。条件循环(2)每次循环都是执行完循环体语句后回到表达式处重新开始判断表达式的值。注意(1)表达式一般是一个关系表达式或一个逻辑表达式,表达式的值应该是一个逻辑表达值真(true)或假(false)。(3)循环体中必须有改变条件表达式值的语句,否则将成为死循环。条件循环-实践操作
3、 编写一个程序猜猜这款手机的价格 猜价格游戏的实现 让用户反复猜价格 需要用到循环结构 猜对价格的时候结束循环 循环结构是基于条件的 条件循环-实践操作 探究1:“猜对了”跳出循环 price=5600 guess=int(input(请输入猜的价格:)while guess!=price:print(猜错了!加油!)guess=int(input(请输入猜的价格:)print(猜对了!你真棒!)猜价格游戏的实现 print(猜对了!你真棒!)while guess!=price:print(猜错了!加油!)guess=int(input(请输入猜的价格:)条件循环-实践操作 price=56
4、00 guess=int(input(请输入猜的价格:)探究2:控制次数的猜价游戏 怎么修改呢?猜价格游戏的实现 循环条件的修改 改变表达式值的语句的修改 循环体外输出的修改 guess!=price and times3:times=times+1 if guess=price:print(猜对了!你真棒!)else:print(游戏结束)补充:逻辑运算符或、与、非 小结 While循环语句的格式:While(表达式):语句或语句组 冒号 缩进 注意:避免死循环,循环语句组中需要有改变表达式值的语句 练习 同学们,我们一步步地完善了猜价格的游戏,但还希望用户能有更好的体验,以加强人机互动。比
5、如,我们可以让程序根据用户猜的价格提示“猜高了”或“猜低了。price=5600 guess=int(input(请输入猜的价格:)times=1 while guess!=price and timesprice)else:练习 P38:任务二:投资10万,收益率3.7%,每年提取2万,多少年全部提出?100000 0 money=0:money=round(money*(1+0.037),2)-20000 money=_#本金100000元 year=#理财年数赋初值为0 while _ _#计算新的理财金额 print(year,“年后资金被全部取出”)#输出结果 _#理财年数加1 year=year+1