Цикл while в python3

Цикл while в Python — синтаксис и примеры использования

Цикл while в Python похож на родительскую раздачу ценных указаний в стиле: «Пока ты не приберешь свои вещи, мы не пойдем гулять». Или так: While беспорядок == True (истина), сидим дома. Однако родителю из мира Python стоит отдать должное: не теряя надежды он то и дело заглядывает в детскую комнату и проверяет наличие беспорядка. Как только выполнится поставленное родителем условие, то есть беспорядок станет False, цикл проверок остановится, и родитель сконцентрируется на дальнейших планах.

Краткий ликбез по синтаксису цикла while

В простейшем случае синтаксис цикла while выглядит так:

while [условие True]:
    [выполняем действия]

Действия будут выполняться до тех пор, пока сохраняется истинность условия. Как только условие станет ложным, цикл завершится без выполнения действий, и программа перейдет к исполнению кода, следующего за циклом. Таким образом, в отличие от цикла for, при использовании цикла while нет необходимости знать заранее число итераций.

Цикл while в Python — примеры кода

Пример №1

Вы — персонаж интересной компьютерной игры. Ваш жизненный потенциал измеряется кармой. Пока карма > 0, на экране выводится строка «Я живчик!», после чего карма уменьшается на единицу. Как только карма станет ниже нуля, вы проиграете и на экране выведется строка «Игра окончена.». Напишем цикл while, контролирующий ваше участие в игре и зададим начальное значению параметру karma = 5:

karma = 5

while karma > 0:
    print("Я живчик!")
    karma = karma - 1

print("Игра окончена.")

Пример №2

Закодируем семейную ситуацию, описанную в начале статьи. Необходимо создать цикл с условием: пока бардак дома — это истина, выводим строку «Сидим дома» и вызываем функцию cleening_home(). Функция cleening_home() содержит список результатов приборки на текущий момент. Из этого списка случайным образом образом выбирается один элемент. Если элемент равен «Чисто! Ура!», то функция возвращает False, в остальных случаях функция возвращает True.

import random

trash = True

# возвращает True или False в зависимости от значения now_stage:
def cleaning_room():
    cleening_stages = ["Очень грязно", "Просто грязно" "Почти чисто", "Чисто! Ура!"]

    now_stage = random.choice(cleening_stages)

    if(now_stage == "Чисто! Ура!"):
        return True
    else: 
        return False

# пока беспорядок, выводим сообщение "Сидим дома"
while trash == True:
    print("Сидим дома!")
    # Запрашиваем информацию о состоянии комнаты на текущий момент
    trash = cleaning_room()

# Если trash == False, выходим из цикла и выводим сообщение о прогулке:
print("Ура! Идем гулять!")

Пример №3

Запрашиваем у пользователя пароль до тех пор, пока введенный им ответ не совпадает со строкой «123456789». Как только строки совпадут, выводим фразу «Верный пароль!»

password = input("Введите пароль: ")

while password != "123456789":
    password = input("Введите пароль: ")

print("Верный пароль!")

Добавить комментарий