while循环_while循环简介

本文介绍了Python中while循环的应用,包括如何设置退出条件、使用break和continue语句控制流程,以及利用while循环处理列表和字典的方法。

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

写在前面:一个真正温柔的人,并不是因为Ta从来没有吃过苦,而是经历过生活的残酷和艰辛后依然能够保持一颗同理心。

For循环用于针对集合中每个元素的一个代码块,而while循环不断地运行,直到指定的条件不满足为止

使用while循环

13de4db9294693215136e294abb38d1b.png

首先设置变量num,指定从1开始;while循环中num小于等于5就会继续执行这个循环,然后打印出num的值,再使用num += 1(等价于num = num + 1)将其值加1;只要满足条件num <= 5,Python就会执行这个循环,但是当num大于5的时候,循环就会停止,整个程序也就结束了。

让用户选择何时退出

定义一个退出值,只要用户输入的不是这个值就接着运行:

761c9d8f8a589f40d0c097097f0b2af8.png

说明:提示中告诉用户要么输入一条消息,要么输入退出值,然后创建一个变量message用于存储用户输入的值,首先将其初始值设置为空字符串,让Python首次执行while循环时有可检查的东西。因为Python首次执行while语句的时候,需要将message的值与quit进行比较,但是此时用户还没有输入,如果没有可供比较的东西,Python将无法继续运行程序;所以需要先指出一个初始值。进入循环后,不管用户输入什么,都将存储到变量message中并打印出来,直到用户输入quit后停止循环并结束程序。

为解决quit也被打印出来的问题,可使用个简单的if语句判断:

be273938934496b6c451b9ee4a7ee45f.png

使用标志

如果有多种事件可控制程序是否停止,就可以使用标志,通过定义一个变量来判断整个程序是否处于活动状态,这样的变量就被称为标志,用于充当程序的交通信号灯。在标志位为True的时候继续运行,并在任何事件导致标志的值为false的时候让程序停止运行。

4dd006a88219d708e6c8e87520ed352b.png

说明:先将变量设置成True,让程序处于活动状态(可简化while语句,不需要在再做任何比较,相关逻辑由程序的其他部分进行处理),在循环内,用户输入后使用一条if语句来检查message的值,如果用户输入的是quit,就将active置为False,让循环不再继续执行。

使用break退出循环

使用break语句可立即退出while循环,不再运行循环中余下的代码,可用于控制程序流程:

87f4d87dfb50a60c0ce42a1288fa4818.png

说明:当用户输入quit后,执行break语句,直接退出循环。可以在任何Python循环中使用break语句,例如用来退出遍历列表或字典的for循环。

在循环中使用continue

如果要回到循环开头,并根据条件测试结果决定是否继续执行循环,可使用continue语句,而不是像break那样不再执行余下代码并退出整个循环:

026d090cda3e464c5f659efb00e8d075.png

说明:首先设置num为0,小于10,Python进入while循环。进入循环后,以步长为1的方式往上数,因此num为1,接下来使用if语句检查num与2的求模运算结果,为0即为可被2整除,就执行continue语句,让Python忽略余下的代码,并回到循环的开头,如果不能被2整除,就执行循环中余下的代码,将该数字打印出来。

注意:要避免无限循环哦~

使用while循环来处理列表和字典

使用for循环可以有效遍历列表,但是如果想遍历列表的同时对其进行修改,可使用while循环。通过将while循环同列表和字典结合起来使用,可收集、存储并组织大量输入,供以后查看和显示。

在列表之间移动元素

将列表1中的内容提取出来然后加入到另一个列表中,可使用while循环:

0ff928ac0438550960df3b6641b7de4c.png

说明:首先创建了一个待验证列表,然后在创建一个空列表,用于存储已验证的用户;通过while循环不断运行,直到未验证列表变成空的;在这个循环中,使用pop()函数以每次一个的方式从列表末尾删除未验证用户,所以最先删除jack,然后存储到列表d_users中;为模拟用户验证过程,这里打印出一条验证消息并将用户加入到已验证用户列表中,直到未验证列表为空后结束循环,然后再打印出已验证用户列表。

删除包含特定值的所有列表元素

可以使remove()函数删除列表中的特定值,前提是要删除的值在列表中只出现一次。但是如果要删除列表中所有包含特定值的元素,就可以使用while循环删除所有这些元素:

9bcb8c55670fe3b4455358f00eb11dbd.png

说明:打印出创建的列表后,进入while循环,由于tom在列表中出现多次,所以删除第一个tom后会返回到while代码行,如果tom还在列表中,会继续删除tom,直到其不在列表中,然后退出循环并再次打印列表。

使用用户输入来填充字典

使用while循环提示用户输入任意数量的信息,然后将收集的数据存储在一个字典中:

ee025bd70c661e11d096c031bc63829d.png

说明:首先定义一个空字典,并设置一个标志,用于指出调查是否继续。在循环中提示用户输入用户名和喜欢的城市,然后将这些信息存储在字典中,然后询问用户调查是否继续;如果否,则结束循环,进入最后一个代码块,打印出调查结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值