-
Q:为什么要使用while循环来处理列表和字典
-
A:for循环是一种遍历列表的有效方式,但在for循环中不应修改列表,否则将导致Python难以跟踪其中的元素。要在遍历列表的同时对其进行修改,可使用while循环。通过将while循环同列表和字典结合起来使用,可收集、存储并组织大量输入,供以后查看和显示。
-
Q:在列表之间移动元素
-
A:使用一个while循环创造条件
# 下面是在列表中移动元素的例子
# 首先,创建一个待验证用户列表
# 和一个用于存储已验证用户的空列表
unconfirmed_users = ['alice', 'brian', 'candace']
confirmed_users = []
# 验证每个用户,直到没有未验证用户为止
# 将每个经过验证的列表都移到已验证用户列表中
while unconfirmed_users:#while+列表 循环直到列表为空(False)
current_user = unconfirmed_users.pop()
print("Verifying user: " + current_user.title())
confirmed_users.append(current_user)
# 显示所有已验证的用户
print("
The following users have been confirmed:")
for confirmed_user in confirmed_users:
print(confirmed_user.title())
------------------------------------------------------------------
Verifying user: Candace
Verifying user: Brian
Verifying user: Alice
The following users have been confirmed:
Candace
Brian
Alice
- Q:删除包含特定值的所有列表元素
- A:使用while循环+remove()函数
# 下面是删除所有包含特定值的列表元素的例子
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']
- Q:使用用户输入来填充字典
- A:可以使用while循环来提示用户输入任意数量的信息
# 下面是使用用户输入来填充字典的例子
responses = {}
polling_active = True # 设置一个标志,指出调查是否继续
while polling_active: # 提示输入被调查者的名字和回答
name = input("
What is your name? ")
response = input("Which mountain would you like to climb someday? ")
responses[name] = response # 将答案存储在字典中
repeat = input("Would you like to let another person respond? (yes/ no) ") # 看看是否还有人要参与调查
if repeat == 'no':
polling_active = False
# 调查结束,显示结果
print("
--- Poll Results ---")
for name, response in responses.items():
print(name + " would like to climb " + response + ".")
------------------------------------------------------------------
What is your name? Eric
Which mountain would you like to climb someday? Denali
Would you like to let another person respond? (yes/ no) yes
What is your name? Lynn
Which mountain would you like to climb someday? Devil's Thumb
Would you like to let another person respond? (yes/ no) no
--- Poll Results ---
Lynn would like to climb Devil's Thumb.
Eric would like to climb Denali.