一、While循环简介
1. 使用While循环
for循环用于针对集合中的每个元素的一个代码块。而While循环不断地运行,直到指定的条件不满足为止。
number = 1
while number < 5:
print(number)
number += 1
2. 让用户选择何时退出
可使用While循环让程序在用户愿意时不断运行,如下所示,定义一个退出值,只要用户输入的不是这个值,程序就接着运行:
prompt = "please input: "
message = ""
while message == 'quit':
message = input(prompt)
print(message)
3.使用标志
在要求很多条件都满足才继续运行的程序中,可定义一个变量,用于判断整个程序是否处于活动状态,这个变量称为标志。你可让程序在标志为True时继续运行,并在任何事件导致标志为False时让程序停止运行。这样,在While语句中就只需要检查一个条件—标志的当前值是否为True。
prompt = "please input: "
active = True
while active:
message = input(prompt)
if message == 'quit':
active = False
else:
print(message)
4. 使用break退出循环
要立即退出while循环,不再运行循环中余下的代码,也不管什么测试的结果如何,可使用break语句。break语句用于控制程序流程,可使用它来控制哪些代码行将执行,哪些代码行不执行。
prompt = "please input: "
while True:
city = input(prompt)
if city == 'quit':
break
else:
print(city)
5.在循环中使用continue
要返回到循环开头,并根据条件测试结果决定是否继续执行,可使用continue语句。
number = 0
while number < 10:
number += 1
if number % 2 == 0:
continue
else:
print(number)
二、使用while循环来处理列表和字典
for循环是一种遍历列表的有效方式,但在for循环中不应该修改列表,否则将导致Python难以跟踪其中的元素。要在遍历列表的同时对其进行修改,可使用while循环。通过将while循环同列表和字典结合起来使用,可收集、存储并组织大量输入供以后查看和显示。
1. 在列表之间移动元素
unconfirmed_users = ['alice', 'brian', 'candace']
confirmed_users = []
while unconfirmed_users:
user = unconfirmed_users.pop()
print("verfying user: " + user.title())
confirmed_users.append(user)
print("\nThe folloeing users have been confirmed:")
for confirmed_user in confirmed_users:
print(confirmed_user.title())
2. 删除包含特定值的所有的列表元素
在一个列表中,可能有多个相同的值,要想把这些值全部删除,需要在while循环中使用remove( )方法来删除列表中的特定值。
pets = ['dog', 'cat', 'dog', 'cat', 'rabbit', 'cat']
while 'cat' in pets:
pets.remove('cat')
print(pets)
3. 使用用户输入来填充字典
可使用while循环提示用户输入任意数量的信息。
responses = {}
active = True
while active:
name = input("please input what's your name: ")
response = input("plwase input response:")
responses[name] = response
repeat = input("还有人参与调查吗")
if repeat == 'no':
active = False
print("\n---Poll Results---")
for name, response in responses.items():
print(name + ": " + response)
网友评论