到目前为止,我们每次都只处理了一项用户信息:获取用户的输入,再将输入打印出来或者做出应答;循环再次运行时,获悉另一个输入值并作出响应。然而,要记录大量的的用户和信息,需要在while循环中使用列表和字典。
for 循环是一种遍历列表的有效方式,但不应在 for 循环中修改列表,否则将导致python难以跟踪其中的元素。要在遍历列表的同时对其进行修改,可使用while循环。通过将while循环同列表和字典结合起来使用,可收集、存储并组织大量输入,供以后查看和显示。
假设有一个列表包含新注册但还未验证的网站用户。验证这些用户后,如何将他们移到另一个已验证的用户列表呢?一种办法是使用一个while循环,在验证用户的同时将其从未验证用户列表中提取出来,再将其加入另一个已验证用户列表中。代码可能类似于下面这样:
#首先,创建一个待验证用户列表
#和一个用于存储已验证用户的空列表
unconfirmed_users = ['alice','brain','candace']
confirmed_users = []
#验证每个用户,直到没有未验证用户为止
#将每个经过验证的用户都移动到已验证用户列表中。
while unconfirmed_users:
curret_user = unconfirmed_users.pop()
print(f"Verfifying user:{curret_user.title()}")
confirmed_users.append(curret_user)
#显示所有已验证的用户
print("\nThen following users have been confirmed:")
for confirmed_user in confi