【11】python3 流程控制——while循环

本文深入讲解Python中的循环控制,包括while循环的基本用法,如何通过break、continue和改变条件来终止循环,以及while-else语句的使用。通过实例演示,帮助读者掌握Python循环的各种应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在实际生活中,除了对不同的条件做不同的处理之外,有时候还需要用到循环,比如听歌时会选择循环播放等,这也属于流程控制。python当然也提供了实现循环的方式,比如while循环语句。

1.基本循环:

'''
while 条件:
    循环体    
'''
while True:
    print('继续循环')

执行规则为:

(1)如果while条件为真,则执行循环体

(2)一次循环完成后,会返回到while条件这一行,继续判断条件是否为真,如果为真,继续执行循环体,否则终止循环

由此可得出,如果执行上述语句,除非停止运行代码,否则会一直打印'继续循环'这条语句。这也被称为无限循环

2.终止循环:

在现实生活中,大多数情况下都不会进行无限循环,比如听歌时,可能会选择单曲循环,一段时间后我们可能会想听其他的歌曲,这时候就需要终止当前的循环,播放下一首歌曲,显然直接停掉程序是不满足我们的需求的,那怎么在不影响程序运行的情况下终止循环呢?我们可以从一下几个方面入手:

  • 改变条件(使条件不会一直为真)
  • 关键字break,直接跳出循环
  • 关键字countinue,终止本次循环
  • 调用系统命令:quit(),exit(),不过不建议使用

2.1 终止循环—改变条件

修改上述代码为:

flag = True
while flag :
    print('继续循环')
    flag = False
    print('终止循环')

这里我们采用了标志位(flag),通过改变标志位的值,来决定是否继续循环。执行上述代码,可以看到循环只执行了一次:

【练习】通过使用循环,打印0-100所有的整数,代码如下:

num = 0
while num <= 100:
	print(num)
	num = num + 1

当然,实现这个功能的方法有很多,大家可以采用不同的方式来完成。

2.2 终止循环—break

break是python中提供的关键字,当在循环中遇到break时,直接跳出循环,执行循环后的语句,比如:

num = 0
print(num)
while num <= 100:
	num = num + 1
	print(num)
	break
print(123)

执行结果为:

一般在while语句里嵌套if条件语句时会用到break,比如:返回一个列表中的第一个偶数,代码如下(当然也有其他的方法,大家不妨自己尝试一下)

alist = [1, 3, 5, 8, 6, 2]  # 新建一个列表
length = len(alist) # 返回列表的长度
i = 0  # 列表的下标是从0开始的
while i < length:
	if alist[i] % 2 == 0:  # 数字余2等于0时,说明是一个偶数
		print(alist[i])
		break
	else:
		i += 1

执行结果为:

可以看到,找到8后,循环终止。

2.3 终止循环—continue

continue用于终止本次循环,继续下一循环。上面我们打印了一个列表中的第一个偶数,如果要打印列表中除了下标为2的所有内容呢?这时就可以用到continue,代码如下:

alist = [1, 3, 5, 8, 6, 2]  # 新建一个列表
length = len(alist)  # 返回列表的长度
i = -1  # 列表的下标是从0开始的
while i < length-1:
	i += 1
	if alist[i] % 2 == 0:  # 数字余2等于0时,说明是一个偶数
		print(alist[i])
	else:
		continue

		
	

其实用到continue的地方很少,等到后面熟悉了python之后,就会知道可以用很多种方法来代替continue,而且代码也会相对简洁一些。

以上就是常用的终止循环的方法,大家可以根据需要进行选择。需要注意的是,在实际写代码时,除了特殊需要外,应尽量避免写出无限循环。

3.while-else

在python中,while也可以和else搭配,其作用是当while循环正常执行完,且中间没有被break终止的话,就会执行else后面的语句,比如:

alist = [1, 3, 5, 8, 6, 2]  # 新建一个列表
length = len(alist)  # 返回列表的长度
i = -1  # 列表的下标是从0开始的
while i < length-1:
	i += 1
	if alist[i] % 2 == 0:  # 数字余2等于0时,说明是一个偶数
		print(alist[i])
	else:
		continue
else:
	print('已经打印出了alist中所有的偶数')

执行结果如下:

可以看到,continue不影响else语句的执行。我们可以运行一下有break的while语句试一下:

alist = [1, 3, 5, 8, 6, 2]  # 新建一个列表
length = len(alist)  # 返回列表的长度
i = -1  # 列表的下标是从0开始的
while i < length-1:
	i += 1
	if alist[i] % 2 == 0:  # 数字余2等于0时,说明是一个偶数
		print(alist[i])
		break
else:
	print('已经打印出了alist中所有的偶数')

执行结果如下:

可以看到,此时else后的语句没有被执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值