Цикл while

Введение в Python для разработчиков

Jasmin Ludolf

Senior Data Science Content Developer

Оператор if

Оператор if

Схема оператора if: начало > условие выполнено > действие > выход

Введение в Python для разработчиков

Оператор if и цикл while

Оператор if

Схема оператора if: начало > условие выполнено > действие > выход

Цикл while

Схема цикла while: начало > условие выполнено > действие > возврат > повтор до тех пор, пока условие не перестанет выполняться

Введение в Python для разработчиков

Цикл while

while condition:
    action
  • Любая непрерывная задача
    • Ускорение while нажата кнопка

Игровая консоль с гоночной игрой

1 https://unsplash.com/@joaoscferrao
Введение в Python для разработчиков

Цикл while

ingredients_to_add = 5
items_added = 0
# Keep adding while we have items left
while items_added < ingredients_to_add:

items_added += 1 remaining = ingredients_to_add - items_added print(remaining, "ingredients left to add")
Введение в Python для разработчиков

Вывод

4 ingredients left to add
3 ingredients left to add
2 ingredients left to add
1 ingredients left to add
0 ingredients left to add
  • Цикл завершается, когда items_added равно ingredients_to_add
Введение в Python для разработчиков

Важное предупреждение

  • while выполняется непрерывно, пока условие истинно
ingredients_to_add = 5
items_added = 0

while items_added < ingredients_to_add:
    remaining = ingredients_to_add - items_added
    print(remaining, "ingredients left")
Введение в Python для разработчиков

Бесконечный цикл

ingredients_to_add = 5
items_added = 0

# INFINITE LOOP - never exits!
while items_added < ingredients_to_add:
    remaining = ingredients_to_add - items_added
    print(remaining, "ingredients left")
    # Forgot to increment items_added!
  • Условие никогда не становится False
  • Цикл выполняется бесконечно, программа зависает
  • Распространённая ошибка разработчика
Введение в Python для разработчиков

Прерывание цикла

while items_added < ingredients_to_add:
    remaining = ingredients_to_add - items_added
    print(remaining, "ingredients left")

# Terminate the loop break
  • break также применяется в циклах for

  • Если код уже выполняется: Control + C / Command + C

Введение в Python для разработчиков

Условные операторы внутри цикла while

ingredients_to_add = 5
items_added = 0


while items_added < ingredients_to_add: items_added += 1 remaining = ingredients_to_add - items_added
if remaining > 3: print("Several ingredients remaining")
elif remaining >= 1: print("Almost done!")
else: print("Shopping list complete!")
Введение в Python для разработчиков

Вывод условных операторов

Several ingredients remaining
Several ingredients remaining
Almost done!
Almost done!
Shopping list complete!
Введение в Python для разработчиков

Давайте потренируемся!

Введение в Python для разработчиков

Preparing Video For Download...