# _*_ coding:utf-8 _*_
"""
name:zhangxingzai
date:2022/11/3
from:《Python编程从入门到实践》
"""
本小节你将学到:
如何使用while循环在列表之间移动元素
如何从列表中删除所有包含特定值的元素
如何结合使用while循环和字典
# 在列表之间移动元素
# 创建一个待验证用户列表,和一个用于存储已验证用户的空列表
unconfirmed_users = ['zhangsan', 'lisi', 'wangwu']
confirmed_users = []
# 验证每个用户,直到没有未验证的用户为止;将验证过的用户移动到已验证列表中
while unconfirmed_users: # 当unconfirmed_users列表非空
current_user = unconfirmed_users.pop() # 列表元素使用pop()方法弹出
print(f'正在验证:{current_user}')
confirmed_users.append(current_user) # 将弹出的元素使用append()方法存入confirmed_users列表
# 显示已经验证的用户
print('以下用户已通过验证:')
for confirmed_user in confirmed_users:
print(confirmed_user)
# 删除为特定值的所以列表元素
# 创建一个宠物列表
pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
print(pets)
# 移除所有的'cat'元素
while 'cat' in pets:
pets.remove('cat')
print(pets)
# 让我们用while循环来收集用户输入信息,并写入字典
responses = {} # 定义空字典
# 设置一个标志,来确定循环是否继续
active = True
while active:
# 让用户输入自己的姓名和需要回答的问题
name = input('请输入您的姓名:')
response = input('请问您最喜欢的动物是什么:')
# 将回答存储到字典中
responses[name] = response
# 询问是否还有其他人参与调查
repeat = input('请问是否还有其他人参与调查?(yes / no)\n')
if repeat == 'no':
active = False
# 调查结束,输出结果
print('\n调查结果:')
for name, response in responses.items(): # 使用items()方法来遍历字典的键值
print(f'{name}喜欢的动物是:{response}')
