写在前面:一个真正温柔的人,并不是因为Ta从来没有吃过苦,而是经历过生活的残酷和艰辛后依然能够保持一颗同理心。
For循环用于针对集合中每个元素的一个代码块,而while循环不断地运行,直到指定的条件不满足为止。
使用while循环
首先设置变量num,指定从1开始;while循环中num小于等于5就会继续执行这个循环,然后打印出num的值,再使用num += 1(等价于num = num + 1)将其值加1;只要满足条件num <= 5,Python就会执行这个循环,但是当num大于5的时候,循环就会停止,整个程序也就结束了。
让用户选择何时退出
定义一个退出值,只要用户输入的不是这个值就接着运行:
说明:提示中告诉用户要么输入一条消息,要么输入退出值,然后创建一个变量message用于存储用户输入的值,首先将其初始值设置为空字符串,让Python首次执行while循环时有可检查的东西。因为Python首次执行while语句的时候,需要将message的值与quit进行比较,但是此时用户还没有输入,如果没有可供比较的东西,Python将无法继续运行程序;所以需要先指出一个初始值。进入循环后,不管用户输入什么,都将存储到变量message中并打印出来,直到用户输入quit后停止循环并结束程序。
为解决quit也被打印出来的问题,可使用个简单的if语句判断:
使用标志
如果有多种事件可控制程序是否停止,就可以使用标志,通过定义一个变量来判断整个程序是否处于活动状态,这样的变量就被称为标志,用于充当程序的交通信号灯。在标志位为True的时候继续运行,并在任何事件导致标志的值为false的时候让程序停止运行。
说明:先将变量设置成True,让程序处于活动状态(可简化while语句,不需要在再做任何比较,相关逻辑由程序的其他部分进行处理),在循环内,用户输入后使用一条if语句来检查message的值,如果用户输入的是quit,就将active置为False,让循环不再继续执行。
使用break退出循环
使用break语句可立即退出while循环,不再运行循环中余下的代码,可用于控制程序流程:
说明:当用户输入quit后,执行break语句,直接退出循环。可以在任何Python循环中使用break语句,例如用来退出遍历列表或字典的for循环。
在循环中使用continue
如果要回到循环开头,并根据条件测试结果决定是否继续执行循环,可使用continue语句,而不是像break那样不再执行余下代码并退出整个循环:
说明:首先设置num为0,小于10,Python进入while循环。进入循环后,以步长为1的方式往上数,因此num为1,接下来使用if语句检查num与2的求模运算结果,为0即为可被2整除,就执行continue语句,让Python忽略余下的代码,并回到循环的开头,如果不能被2整除,就执行循环中余下的代码,将该数字打印出来。
注意:要避免无限循环哦~
使用while循环来处理列表和字典
使用for循环可以有效遍历列表,但是如果想遍历列表的同时对其进行修改,可使用while循环。通过将while循环同列表和字典结合起来使用,可收集、存储并组织大量输入,供以后查看和显示。
在列表之间移动元素
将列表1中的内容提取出来然后加入到另一个列表中,可使用while循环:
说明:首先创建了一个待验证列表,然后在创建一个空列表,用于存储已验证的用户;通过while循环不断运行,直到未验证列表变成空的;在这个循环中,使用pop()函数以每次一个的方式从列表末尾删除未验证用户,所以最先删除jack,然后存储到列表d_users中;为模拟用户验证过程,这里打印出一条验证消息并将用户加入到已验证用户列表中,直到未验证列表为空后结束循环,然后再打印出已验证用户列表。
删除包含特定值的所有列表元素
可以使remove()函数删除列表中的特定值,前提是要删除的值在列表中只出现一次。但是如果要删除列表中所有包含特定值的元素,就可以使用while循环删除所有这些元素:
说明:打印出创建的列表后,进入while循环,由于tom在列表中出现多次,所以删除第一个tom后会返回到while代码行,如果tom还在列表中,会继续删除tom,直到其不在列表中,然后退出循环并再次打印列表。
使用用户输入来填充字典
使用while循环提示用户输入任意数量的信息,然后将收集的数据存储在一个字典中:
说明:首先定义一个空字典,并设置一个标志,用于指出调查是否继续。在循环中提示用户输入用户名和喜欢的城市,然后将这些信息存储在字典中,然后询问用户调查是否继续;如果否,则结束循环,进入最后一个代码块,打印出调查结果。