一、while循环语句
for循环用于针对集合中的每个元素的代码块,而while循环不断地运行,直到指定的条件不满足为止。
1、while循环书写
current_number = 1
while current_number <= 5:
print(current_number)
current_number += 1
2、让用户自主选择合适退出
# -*- coding: gb2312 -*-
prompt = "\nTell me something, and I will repeat it back to you:"
prompt += "\nEnter 'quit' to end the program. "
message = ''
while message != 'quit':
message = input(prompt)
print(message)
3、使用标志
active = True
while active:
message = input(prompt)
if message == 'quit':
active = False
else:
print(message)
4、break关键字的使用
break关键字在所有的循环语句中都可以使用,for循环,if——else中,while循环中都可以使用。
prompt = "\nPlease enter the name of a city you have visited:"
prompt += "\n(Enter 'quit' when you are finished.) "
while True:
city = input(prompt)
if city == 'quit':
break
else:
print("I'd love to go to " + city.title() + "!")
5、continue 关键字的使用
current_number = 0
while current_number < 10:
current_number += 1
if current_number % 2 == 0:
continue
print(current_number)
结果:1 3 5 7 9
注意:continue表示的意思,忽略循环语句中continue后面的代码,继续返回循环开头执行循环。
6、while循环书写过程中一定要注意条件的现在,不能让程序形成死循环,这样会消耗系统大量的内存。
二、使用while循环处理列表和字典
1、列表之间元素的移动
# 首先,创建一个待验证用户列表
# 和一个用于存储已验证用户的空列表
unconfirmed_users = ['alice', 'brian', 'candace']
confirmed_users = []
# 验证每个用户,直到没有未验证用户为止
# 将每个经过验证的列表都移到已验证用户列表中
while unconfirmed_users:
current_user = unconfirmed_users.pop()
print("Verifying user: " + current_user.title())
confirmed_users.append(current_user)
# 显示所有已验证的用户
print("\nThe following users have been confirmed:")
for confirmed_user in confirmed_users:
print(confirmed_user.title())
2、删除特定的元素
pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
print(pets)
while 'cat' in pets:
pets.remove('cat')
print(pets)
['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
['dog', 'dog', 'goldfish', 'rabbit']
3、用户输入,填写字典
# -*- coding: gb2312 -*-
boy_and_gilrs = {}
active = True
while active:
name=input("\nwhat's your name ?")
girl=input("\nwhich girl you like ?")
boy_and_gilrs[name]=girl
repeat = input('\nWould you like to let another person respond? (yes/ no)')
if repeat == "no":
active = False
else:
continue
print("\n--- Poll Results ---")
for name, response in boy_and_gilrs.items():
print(name + " like " + response + ".")
结果:
what's your name ?小王
which girl you like ?小珍
Would you like to let another person respond? (yes/ no)yes
what's your name ?兵哥
which girl you like ?珍珍
Would you like to let another person respond? (yes/ no)no
--- Poll Results ---
小王 like 小珍.
兵哥 like 珍珍.