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