内容正文:
2.3周而复始的循环
——while条件循环
条件循环
概念:条件循环一般用于循环次数未知的情况,使用while语句来创建。
基本格式:
while 关系表达式:
语句或语句组
循环条件
循环体
条件
循环体
是
否
只有当循环条件(即关系表达式)成立时,才执行循环体(语句或语句组)。
【与if分支语句比较:while判断多次,if只判断一次】
缩进
条件循环
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 #每次加10,累加作用
print(s)
运行结果:
10
20
30
40
运行结果:
40
s = s + x —>累加器:x可以是不同值,比如s=s+10
条件循环
#打印1-5所有数字,先输出再加1
i=0 #初始化循环控制变量(所有变量在使用前都需要被赋值)
while i<5: #控制条件判断,设置最大限度
print(i)
i=i+1 #得到下一个数字;且循环控制变量必须重新赋值,否则会陷入死循环
运行结果:
0
1
2
3
4
没输出1-5,想一想改变哪些条件可以正确输出?
i=0 <5成立,输出0→ i=i+1=1
i=1 <5成立,输出1→ i=i+1=2
i=2 <5成立,输出2→ i=i+1=3
i=3 <5成立,输出3→ i=i+1=4
i=4 <5成立,输出4→ i=i+1=5
i=5 <5 不成立 → 循环结束
条件循环
#打印1-5所有数字,调整位置感受变化,先加1再输出
i=0 #初始化循环控制变量(所有变量在使用前都需要被赋值)
while i<5: #控制条件判断,设置最大限度
i=i+1 #得到下一个数字;且循环控制变量必须重新赋值,否则会陷入死循环
print(i)
运行结果:
1
2
3
4
5
i=0 <5成立, i=i+1=1,输出1
i=1 <5成立, i=i+1=2,输出2
i=2 <5成立, i=i+1=3,输出3
i=3 <5成立, i=i+1=4,输出4
i=4 <5成立, i=i+1=5,输出5
i=5 <5 不成立 → 循环结束
条件循环
s=0
while s>=0:
s=s+10 #循环体
print(s) #循环体
循环条件一直成立
猜想:如果循环条件一直成立,那么程序会不会一直执行下去?
结论:如果循环条件一直成立,或者未改变变量的值,那么程序会一直执行下去。通常,我们不会让程序陷入这种“死循环”(无限循环)的境地。
按快捷键Ctrl+C即可终止无限循环
s=0
while s<10:
print(s) #循环体
未改变变量的值,s永远小于10
条件循环
题目:使用 while 循环计算 :1+2+3+...+10
s= s+i #把当前的i加到总和里
i=i+1 #准备下一个要加的数字,同时改变i的值避免陷入死循环
while i<=10 : #只要 i 这个数小于等于 10,循环就要继续
s、i的初始值为多少?
s=0 # 一开始总和是0(还没开始加)
i=1 # 第一个要加的数字是1
循环条件(什么时候终止循环):i的值最大为多少?
累加过程(循环体):
分析问题,需要两个变量:①循环变量i:从 1 递增到 10,既作为要加的数字,也作为循环控制条件;②累加器s:记录目前的累加和
条件循环
s=0 # 一开始总和是0(还没开始加)
i=1 # 第一个要加的数字是1
while i<=10 : # 当i还没超过10时,继续加
s= s+i # 把当前的i加到总和里
i=i+1 #准备下一个要加的数字
print(s) # 输出最终的结果
计算循环与条件循环的区别
计数循环(for循环):明确知道循环次数
条件循环(while循环):循环次数不确定,取决于某个条件
s=0
for i in range(1,11): #明确知道要循环10次
s=s+i
print("1到10的和是: ”,s)
s=0
while s<=30: #不知道循环次数,根据条件来判断是否执行
s=s+10
print(s)
计数循环
条件循环
练习
课堂练习
1、i=1
while i<5:
print(“好好学习,天天向上“)
i=i+1
会输出几次“好好学习,天天向上“( )
A.3
B.4
C.5
D.6
C
2、s= 0
i=1
while i<4:
s = s + i
i=i+1
print(s) 最后输出的结果为( )
A.1
B.3
C.6
D.10
B
①i=1<4成立,s=s+i=0+1=1,i=i+1=2
②i=2<4成立,s=s+i=1+2=3,i=i+1=3
③i=3<4成立,s=s+i=3+3=6,i=i+1=4
④i=4<4不成立,循环结束,输出s
①i=1<5成立,输出,i=i+1=2
②i=2<5成立,输出,i=i+1=3
③i=3<5成立,输出,i=i+1=4
④i=4<5成立,输出,i=i+1=5
⑤i=5<5不成立,循环结束
课堂练习
1、使用while循环输出1 到 10 的所有数字
2、使用 while 循环计算 1 到 99 之间所有奇数的和。
i=1
while i<=10 :
print(i,end=” ”)
i=i+1
i=1
s=0
while i<=99 :
s=s+i
i=i+2
print(s)
$