内容正文:
周而复始的循环
宁津县第一中学
复习回顾
计数循环:
循环重复次数一定的循环。
在python中,使用for语句来创建计数循环。
for语句的基本格式:
for 循环变量 in 列表:
语句或语句组
计数循环的应用案例:
高斯求和、阶乘、水仙花数、斐波那契数列等。
例如:s=0
for i in range(1,101):
s=s+i
print(s)
循环:
计算机程序中某些代码的反复执行。
如果循环的次数不确定,我们该如何解决问题呢?
问题提出
宁津县第一中学
问题提出
2005年10月9日,国家测绘局正式宣布珠穆朗玛峰的高度是8844.43米,并停用之前的数据。
现有一张白纸,它的厚度大约是0.08毫米,对折一次,厚度变为0.16毫米,再对折一次,厚度变为0.32毫米,……,每对折一次,其厚度均变为对折前的两倍。
假设这张纸足够大,可对折任意次,那么这张纸至少对折多少次后,其厚度将超过珠穆朗玛峰的高度?
重复的对折过程即为循环
分析:
对折的次数为求解项,即循环次数未知。
条件循环
宁津县第一中学
新课学习
条件循环一般用于循环次数未知的情况
在python中,使用while语句来创建这类循环。
宁津县第一中学
新课学习
while语句的基本格式:
while 关系表达式:
语句或语句组
用关系运算符连接起来的式子
运算符 == > >= < <= !=
含义 等于 大于 大于等于 小于 小于等于 不等于
例如:a>=10、b!=100、c==1等
新课学习
while语句的基本格式:
while 关系表达式:
语句或语句组
循环条件
循环体
只有当循环条件成立(为真)时,才执行循环体。
新课学习
判断条件成立时,执行循环体;再次判断条件,条件成立时执行循环体......直到条件不成立时,退出循环。
while循环执行的过程:
条件
循环体
是
否
循环结构
新课学习
s=0
while s<=30:
s=s+10 #循环体
print(s) #循环体
s的值 s<=30是否成立 是否执行循环体 s的值
(s=s+10) 输出s的值
(print(s))
0
是
是
10
10
10
是
是
20
20
20
是
是
30
30
30
是
是
40
40
40
否
否
新课学习
s=0
while s<=30:
s=s+10
print(s)
新课学习
n=0
s=0
while s<=10:
n=n+3
s=s+n
print(s)
小试牛刀:
新课学习
条件
循环体
是
否
问题:如果循环条件一直成立,程序会怎么样呢?
循环结构
新课学习
s=0
while s>=0:
s=s+10 #循环体
print(s) #循环体
循环条件一直成立
特殊关系表达式:数字0表示假,非0数字表示真。如:while 1即可表示条件一直成立。
猜想:如果循环条件一直成立,那么程序会不会一直执行下去?
新课学习
结论:如果循环条件一直成立,那么程序会一直执行下去。通常,我们不会让程序陷入这种“死循环”(无限循环)的境地。
按快捷键Ctrl+C即可终止无限循环
问题解决
现有一张白纸,它的厚度大约是0.08毫米,对折一次,厚度变为0.16毫米,再对折一次,厚度变为0.32毫米,……,每对折一次,其厚度均变为对折前的两倍。
假设这张纸足够大,可对折任意次,那么这张纸至少对折多少次后,其厚度将超过珠穆朗玛峰的高度?
问题2:在重复的对折过程中,有几个变量?
问题1:对折的条件:
1.纸的厚度(h)
2.对折的次数(t)
对折之前:
纸的厚度h=0.08毫米
对折的次数t=0
每次对折之后:
纸的厚度h变为原来厚度的2倍,即h=2*h
对折次数t在原来的基础上加1,即t=t+1
纸的厚度(h)<=8848.43米(8848430毫米)
问题3:对折前后的变化:
问题解决