while循环

Posted nanjizhilian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了while循环相关的知识,希望对你有一定的参考价值。

for 循环用于针对集合中的每一个元素的一个代码块,而while循环不断地运行,

直到指定的条件满足为止。

1,小例:

我们先用while数数,从1数到5:   代码如下

技术图片使用while循环

 

2,让用户选择何时退出:

在while循环中我们在其中定义一个退出值,只要用户输入的不是这个值,程序就接着运行

小代码:如下

技术图片
1 piompt = “Please enter content:”
2 message = “”
3 while message  != ’quit‘:
4         message = input(prompt)
5         print(message)
让用户选择何时退出

我们将active设置成了True,让程序最初处于活动状态,只要变量active为True,循环就将继续执行,

while循环里用户输入后使用一条if语句来检查active变量的值,如果用户输入的是‘quit’我们将active设置成为False,while循环不在继续执行下去

如果用户输入的不是quit,那么输入作为一条消息打印出来。

 

 

3,break退出循环

技术图片
 1 # 1,break退出循环,不在运行余下的代码
 2 # 2,例如上面的程序,用户输入quit后使用break退出while循环
 3 sb = ("Please enter the break statement")
 4 while True:
 5         city = input(sb)
 6         if City == quit
 7             break
 8          esle:
 9             print(go+ City.title() + !)
10 
11 
12 # 又一个小例子:
13 #1,用户输入他到过城市的名字,直到quit()退出,用户输入quit()后程序将# # 执行break语句,导致python退出循环
14 
15 
16 # 注意,在任何python循环中,可使用break,例如使用break语句来退出来# 遍历字典或列表的for循环
使用break退出循环

 

4,在循环中使用continue

要返回到循环的开头并根据条件测试结果决定是否继续执行,可使用continue语句。

例如来看一个从1数到10但只打印其中的奇数。如下:

技术图片
 1 ret_number = 0
 2 while ret_number <10:
 3         ret_number += 1
 4         if ret_number % 2 == 0:
 5             continue
 6         print(ret_number)
 7 
 8 # 首先将ret_number设为0,由于它小于10,进入循环后以1的步长增长
 9 # 因此ret_number为1,此时if语句检查ret_number与2求模运算的结果
10 # 如果结果为0,那意味着ret_number能被2整除,就执行continue语句让# # python忽略下面的代码,并返回开头执行
11 #
循环中使用continue

 

循环小拓展:

假设:1,有一个列表,其中包含新注册但还未验证的网站用户,验证这些用户后,把他们移到另一个一验证用户列表中

在while循环这里当然先用while咯,哈哈哈哈,代码如下

技术图片
 1 # 首先先创建一个未验证的用户列表
 2 # 在创建一个已验证的空列表
 3 list = [小努力,‘小勇气’,‘小坚持’,‘小加油’]
 4 user_list = []
 5 while list:
 6         user_name = list.pop()
 7         print(user_name.title())
 8         user_list.append(user_name)
 9 # 显示所有已验证的用户
10 for i in user_list:
11         print(i)
列表之间移动元素

 

假设:2,删除包含特定值的所有列表元素

在这里说一下remove()删除方法,要删除的值只出现一次,如果要删除列表中特有的所有值怎么办?

假设,我有一个宠物的列表,其中包含多个值为Cat的元素。要删除所有这些元素,使用while循环所有元素及删除,直到没有Cat为止

技术图片
1 pass = [dog,cat,dog,goldfish,cat,rabbit,,cat]
2 print(pass)
3 while cat in pass:
4         pass.remove(cat)
5 print(pass)
删除包含特定值的所有列表元素

 

假设:3,使用用户输入来填充字典

使用while循环提示用户输入任意数量的信息,下面来创建一个调查的程序

1,每次执行循环时都提示被调查者的名字和回答,

2,将收集的数据存在一个字典中,以便将回答同被调查者关联起来。

技术图片
 1 re = {}
 2 # 设置一个标志,指出调查是否继续
 3 pollng = True
 4 while pollng:
 5         # 提示输入被调查者的名字和回答
 6         name = input(>>>)
 7         re = inupt(>>>)
 8         # 将答卷存在字典中
 9         re[name] = ret
10         # 看看是否还有人要参与调查
11         repeat = input(还有谁?(yes/no))
12         if repeat == no:
13             pollng = False
14 # 调查结果显示
15 for name,re in re.items():
16         print(name + "would like to climb" + re +",")
用户输入来填充字典

首先定义一个空字典,并设置了,一个标志用于是否继续调查,只要唯True就继续运行while循环,

在这个循环中提示用户输入用户名以及喜欢什么,这些信息寻在字典中,然后质询用户是否继续,如果yes程序将再次进入while循环中,如果输入的no,标志将被设置为False (退出程序)

 

以上是关于while循环的主要内容,如果未能解决你的问题,请参考以下文章

如何在微控制器按钮上使while循环更快?

Python3练习题系列(03)

for循环结构

常用python日期日志获取内容循环的代码片段

无限循环 - 延迟 - 单独的线程

使用从循环内的代码片段中提取的函数避免代码冗余/计算开销