Глава 13 Цикл while
⏱️ Час на опанування теми: 15 хвилин
🤷 Для чого ми це вивчаємо:
🔑 Результати навчання:
- Розуміння що таке програма, додаток та програмне забезпечення
- Розуміння що таке алгоритм, кодування та програмування
🎈 Увага: Наразі ця глава знаходиться у стані активної розробки і ймовірно буде змінюватись і доповнюватись!
У цій главі ми познайомимось з…
Цикл for
– не єдиний тип циклів, які реалізовані у Python. Також існує так званий while
цикл. Якщо цикл for
виконував тіло циклу певну кількість разів, яка була відома перед початком циклу, то цикл while
буде виконувати код поки певна умова є істинною. Такий цикл легше всього пояснити за допомгою блок-схеми:
Ця блок-схема досить схожа на умовний перехід if/else
. Різниця полягає в тому, що сценарій або поток Так після тіла циклу переходить назад на початок умови, тоді як поток Ні вказує на наступну після циклу інструкцію.
А ось і приклад цикла while
у Python:
= 0
i while (i < 3):
print(i)
= i + 1 i
## 0
## 1
## 2
Цикл while
складається з наступних частин:
while
: ключове слово яке свідчить про те, що далі буде циклwhile
(i < 3)
: умова, відносно якої буде прйматися рішення чи виконувати тіло цикла:
: двокрапка, що позначає початок блоку кодуprint(i)
таi = i + 1
: рядки тіла циклу, тобто інструкції які будуть виконані, якщо умова є істинною
Як і в умовному переході if/else
та циклі for
, інструкції тіла цикла повинні починатись з відступу. Замість i < 3
може бути будь яка змінна чи вираз які повертають значення типу bool
: True
або False
. Якщо ми підставимо замість i < 3
значення True
, то ми потрапимо до безкінечного циклу – тіло циклу буде виконуватись потійно, в чому не так багато сенсу.
Давайте “розгорнемо” наш цикл, тобто пропишемо усю послідновність інструкцій, ітерацію за ітерацією:
= 0
i
# 0 < 3 є істинною, тому виконуємо тіло циклу
print(i) # друкуємо 0
= i + 1 # тепер i дорівнює 1
i
# 1 < 3 є істинною, тому виконуємо тіло циклу
print(i) # друкуємо 1
= i + 1 # тепер i дорівнює 2
i
# 2 < 3 є істинною, тому виконуємо тіло циклу
print(i) # друкуємо 2
= i + 1 # тепер i дорівнює 3
i
# 3 < 3 не є істинною, тому виконуємо пропускаємо тіло циклу і йдемо далі
У циклах ми можемо ще використати ключові слова break
та continue
. Команда break
дозволяє вийти з циклу завчасно, а continue
– пропустити усі інструкції в ітерації та повернутись до перевірки умови. З ними ми докладніше познайомимось у вправах, посилання на які ви знайдете нагорі.
Цикл while
не такий поширений як цикл for
в конексті AI, ML та DS. Це тому що більшість задач які встають у цих галузях, можна вирішити за допомгою for
. Тим паче, що використовючи цикл while
, існує ймовірність попасти у нескінченний цикл. В цьому нічого страшного не має, але бувають моменти коли помилку в коді досить важко знайти.
🤸 Вправи
x = 0
while x < 5:
x = x + 1
print(x)
1. x = 2
while x <= 10:
print(x)
x += 2
2. x = 1
while x <= 5:
print(x * 2)
x += 1
x = 5
while x > 0:
print(x)
x = x - 1