Использование цикла while со списками и словарями
131
проверенных пользователей? Одно из возможных решений: используем цикл
while
для извлечения пользователей из списка непроверенных, проверяем их и включаем
в отдельный список проверенных пользователей. Код может выглядеть так:
confirmed_users.py
# Начинаем с двух списков:
пользователей для проверки
# и пустого списка для хранения проверенных пользователей.
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())
Работа программы начинается с двух списков: непроверенных пользователей
и пустого списка для проверенных пользователей. Цикл
while
в точке
выпол-
няется, пока в списке
unconfirmed_users
остаются элементы. Внутри этого списка
функция
pop()
в точке
извлекает очередного непроверенного пользователя
с конца списка
unconfirmed_users
. В данном примере список
unconfirmed_users
завершается пользователем
Candace
; это имя первым извлекается из списка, со-
храняется в
current_user
и добавляется в список
confirmed_users
в точке
. Далее
следуют пользователи
Brian
и
Alice
.
Программа моделирует проверку каждого пользователя выводом сообщения, после
чего переносит пользователя в список проверенных. По мере сокращения списка
непроверенных пользователей список проверенных пользователей растет. Когда
в списке непроверенных пользователей не остается ни одного элемента, цикл оста-
навливается, и выводится список проверенных пользователей:
Verifying user: Candace
Verifying user:
Brian
Verifying user: Alice
The following users have been confirmed:
Candace
Brian
Alice
Удаление всех вхождений конкретного
значения из списка
В главе 3 функция
remove()
использовалась для удаления конкретного значения
из списка. Функция
remove()
работала, потому что интересующее нас значение