while循环
Posted nanjizhilian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了while循环相关的知识,希望对你有一定的参考价值。
for 循环用于针对集合中的每一个元素的一个代码块,而while循环不断地运行,
直到指定的条件满足为止。
1,小例:
我们先用while数数,从1数到5: 代码如下
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循环
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 #
循环小拓展:
假设: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循环的主要内容,如果未能解决你的问题,请参考以下文章