(共18张PPT)
第11课
while循环的应用实例
知识回顾
break语句的功能是跳出当前循环,不再判断执行循环的条件是否成立。因为break语句是结束整个循环,任何对应的循环[else子句]也不执行。
知识回顾
continue语句的功能是结束当前的当次循环,但不跳出当前循环,继续判断执行循环的条件是否成立。因为continue语句是结束当次循环,对[else子句]没有影响。
知识回顾
核心思想:反复对输入数和给定数进行比较。
“偏大”(guess>num)
“偏小”(guess“正确”(guess=num)
猜数游戏
知识回顾
猜数游戏
课本练习
储蓄问题
已知某同学有一些零用钱,他想通过银行储蓄增值,问:存多少年,才能达到预期的数值?
为简单起见,假设储蓄规则为:
1.存期以一年为单位,存款以元为单位。
2.一年期的存款利率均为3%(不考虑利率调整)。
在如下程序的划线处填空。
课本练习
#储蓄年数n置初值0
n=0
p=float(input(“请输入本金金额”))
q=float(input(“请输入预期数额”))
while
_________
p=p
0.03
n+=1
print(“需要储蓄(年数):”,n)
p
<
q
:
本题的重点是while循环的格式和本金、利率、利息之间的关系。
同步练习一
折纸问题
一张纸的厚度大约是0.08mm,输出需要对折多少次之后能达到或者超过珠穆朗玛峰的高度(8848.13米)?
在如下程序的划线处填空。
同步练习一
i=0
m=0.00008
while
m<=8848.13:
_____________
_____________
print(i)
m=m
2/m
=2
i=i+1/i+=1
本题的重点是纸张对折一次后,纸张厚度的变化规律。
同步练习二
请你编写程序,输出由星号
组成的矩形图案,并且可以灵活控制图案的大小。
在如下程序的划线处填空。
同步练习二
a=int(input("请输入矩形的第一条边长:"))
b=int(input("请输入矩形的第二条边长:"))
i=1
while
_________
_____________
_____________
本题的重点是矩形内部每一行、每一列星号
的组成。
i<=b:
print("
"
a)
i=i+1
同步练习三
斐波那契数列
已知有一个数列的第1项是1,第2项是1,从第三项开始,每一项都等于前两项之和。输入一个数字代表第几项,输出这一项的数。
同步练习三
n=int(input("输入一个数字代表第几个数:"))
i=1
a,b,c=1,1,2
while
__________
______________
i=i+1
print(a)
i:
a,b,c=b,c,a+b
本题的重点是清楚每一项都等于前两项之和。
拓展练习一
输入两个正整数,计算输出最小公倍数。
i=1
n=int(input("请输入第一个正整数:"))
m=int(input("请输入第二个正整数:"))
while
True:
s=i
n
if
s%m==0:
print(s)
break
else:
i=i+1
最小公倍数能够同时被这两个数整除。通过例举的方法找出最小公倍数。
拓展练习二
小球下落
小球从高度为100米处自由落下,每次落地后反跳回原高度的一半,再落下。编程实现输入小球落地次数,输出共经过多少米?
拓展练习二
落地次数
经过距离
反弹高度
第一次
100
100/2
第二次
100+50
2
50/2
第三次
200+25
2
25/2
第四次
250+12.5
2
12.5/2
拓展练习二
n=int(input("请输入小球落地次数:"))
i=1
m=100
h=0
while
i<=n:
if
i==1:
h=m
else:
h=h+m
2
m=m/2
i=i+1
print(h)
本题的重点是小球落地次数、经过距离、反弹高度三者之间的关系。
感谢聆听