内容正文:
Python循环语句
while 循环语句(条件循环)
学习重点
01
03
02
用条件循环编写简单的程序解决问题
学会条件循环的使用方法
掌握条件循环的基本结构
导入
今天我们使用编程一起来玩一个猜数字的小游戏(游戏1.0版本),看哪个同学能猜准?是只能猜一次还是能猜无数次呢?如果想猜无数次,你觉得需要用什么结构能实现?
number=24 #系统保密数字
guess=int(iuput(“请输入猜测的数:”))
if ______________:
print(“恭喜你,猜对了”)
elif _______________:
print(“数字大了”)
else:
print(“数字小了”)
guess==number
guess>number
若想多次猜这个数字,你将如何优化并完善这个程序呢?(在游戏1.0版本上如何优化并解决问题。)
分析问题
问题一:猜数字游戏中,两数比较,会出现几种结果?
问题二:什么情况下需要反复猜数呢?
猜数结果 Guess>number 猜大了,继续猜数 直到猜对了,程序结束
Guess<number 猜小了,继续猜数
Guess=number 猜中了,程序结束
循环
1.概念:计算机程序中某些代码的反复执行
2.分类:
计数循环:重复一定次数(for)
√条件循环:重复到某种情况结束 (while)
Python基本语句-
循环语句(while)
循环结构
循环结构是一种重复某一部分操作的结构。即在条件控制下,某些操作步骤需要重复执行(循环),在不满足重复处理条件时,循环结束。
补充流程图将猜数游戏1.0升级到2.0 版,用户实现多次猜数,直到猜中为止。
guess != number?
guess > number?
任务一
条件循环
只有当循环条件成立时,才执行循环体。
在Python中,使用while 语句来创建这类循环。
while语句的基本格式如下:
while 关系表达式 :
语句或语句组
一组重复执行的语句称为循环体。
循环体必须相对关键词while有缩进。
例:下面这个循环输出0到100的自然数。
for i in range(0,101):
print (i)
i = 0 #初始值
while i<101 : #条件
print(i)
i = i +1 #更新
由于while循环不记录循环的次数,如果需要借用循环次数信息,必须在代码中增加计数器,并通过语句修改计数器的值,这也是while循环的难点。
根据流程图完善猜数字游戏2.0,运行此程序,看是否能重复猜数。
number=24 #系统保密数字
guess=int(input(“请输入猜测的数字:”))
while ______________:
if _________________:
print(“数字大了”)
else:
print(“数字小了”)
_______________________________
print(“恭喜你,猜对了”)
guess!=number
guess>number
guess=int(input(“请输入猜测的数字:”))
条件循环:一般用于循环次数未知的情况。
任务二
练习时刻
下面两个程序段运行后显示的结果为( )
i=1
while i<8:
i=i+2
s=2*i+3
print(s)
A.17
B.19
C.21
D.23
i=1
while i<8:
s=2*i+3
i=i+2
print(s)
C
A
break和continue
break:在for循环或while循环结构中使用break语句,用于结束整个循环。
continue:在for循环或while循环结构中使用continue语句,用于结束当前循环。continue关键字仅仅只结束当前这一轮循环,而不会结束全部循环。
相同:
1. break 和 continue 都有着结束当前这次循环的作用。
2. break 和 continue 都经常和if 搭配使用。
3. break 和 continue 是单独的语句,不需要参数,也不能放在判断语句中。
不同:
1. break 是跳出循环,不继续下次循环;continue是结束当前这次循环,但是还继续下次循环。
2. break 对 for else 和 while else 有特殊的作用,continue没有。
3. break 应用的要比continue广,多数情况下用 break 而不是 continue。
break:在for循环或while循环结构中使用break语句,用于结束整个循环。
break 语句用于跳出当前所在层的循环,无论是 for 循环还是 while 循环,当 break 语句被执行时,控制流将跳出循环体,继续执行紧随循环块后面的代码。break 语句通常与条件语句(如 if 语句)一起使用,用来在满足特定条件时提前退出循环。
使用 break 退出 for 循环:
# 遍历一个列表
for i in [1, 2, 3, 4, 5]:
# 如果元素值为3,退出循环
if i == 3:
break
print(i)
在这个例子中,for 循环将遍历列表中的每个元素。当列表中的元素值为 3 时,if 语句的条件成立并执行 break 语句,导致从循环中跳出,因此后续的元素(4 和 5)不会被打印。
continue:在for循环或while循环结构中使用continue语句,用于结束当前循环。
continue语句用于在满足条件的情况下跳出本次循环,该语句通常也与if语句配合使用。
使用continue循环:
# 遍历一个列表
for i in [1, 2, 3, 4, 5]:
# 如果元素值为3,退出循环
if i == 3:
continue
print(i)
#注意:continue语句并没有使整个循环终止,continue 只能在循环语句中使用。
在这个例子中,for 循环将遍历列表中的每个元素。当列表中的元素值为 3 时,if 语句的条件成立并执行 continue语句,导致从跳过当前循环中,因此元素(3)不会被打印。
总结
while 循环一般用于循环次数难以提前确定的情况,当然也可以用于循环次数确定的情况。
while语句的基本格式如下:
Break跳出循环,continue跳过本次循环执行下一次。
while 关系表达式 :
语句或语句组
一组重复执行的语句称为循环体。
循环体必须相对关键词while有缩进。
补充
有一类特殊的关系表达式:数字0表示假,非0数字表示真。
如果循环是以“while 1:”开头,那么在不加干预的情况下,程序就会“不知疲倦”地一直执行下去。
如果你想停止这个程序,按快捷键Ctrl+C即可。通常情况下,我们不会让程序陷入这种“死循环”的境地。
课堂检测
指导丛书
P53 33、35
P58 2
练习时刻
2.下面Python程序段的运行结果是( )
i=0
sum=0
while i<10:
if i%3==0
sum+=i
i+=1
print(“sum=”,sum)
A.sum=9
B.sum=10
C.sum=18
D.sum=19
C.sum=18
3.问题:s=1+3+5+……累加到几的和刚好大于30?
__________
__________
while ______:
__________
__________
print(i)
s=0
i=0
s<=30
i=i+2
s=s+i
初始化变量s为0(用于存储累加的和)
判断s是否小于或等于30
变量s=s+i
2
练习时刻
Thanks
$