Кожна мова програмування, з яким я стикався, містить якусь конструкцію циклу. У більшій частині мов є більше однієї такої конструкції. У світі Python є два типи циклів:
Я помітив, що цикл for популярнішим другого. Цикли використовуються в тих випадках, коли нам потрібно зробити що-небудь багато разів. Нерідко вам доведеться виконати якусь операцію (або ряд операцій) в частині даних знову і знову. Тут то і вступають в силу цикли. Завдяки їм стає можливо максимально спростити дане питання. Давайте детально розберемо, як працюють ці структури!
Як було сказано раніше, ми використовуємо цикл в тих випадках, коли вам потрібно повторити щось n-ну кількість разів. Це простіше зрозуміти, якщо поглянути на приклад. Ми використовуємо вбудовану функцію Python range. Функція range створить список довжиною в «n» елементів. В Python версії 2.Х існує інша функція під назвою xrange. яка є генератором чисел і не така ресурсномістка, як range. Раніше розробники змінили xrange на range в Python 3. Ось приклад:
Ви напевно гадаєте, що взагалі тут відбувається? Що ще за знак відсотка? В Python,% називається оператором модуля. Коли ви використовуєте оператор модуля, він повертає залишок. Коли ви ділите ціле число на два, ви отримуєте число без залишку, так що ми виводимо ці числа. Вам, можливо, не захочеться використовувати оператор модуля часто в майбутньому, але в моїй роботі він нерідко допомагає. Тепер ми можемо поглянути на цикл while.
цикл while
Цикл while також використовується для повторення частин коду. але замість зациклення на n кількість разів, він виконує роботу до тих пір, поки не досягне певної умови. Давайте поглянемо на простий приклад:
Цикл while є свого роду умовним оператором. Ось що значить цей код: поки змінна i менше одиниці, її потрібно виводити на екран. Далі, в кінці, ми збільшуємо її значення на одиницю. Якщо ви запустите цей код, він видасть від 0 до 9, кожна цифра буде в окремому рядку, після чого завдання буде виконано. Якщо ви видалите ту частину, в якій ми збільшуємо значення i, то ми отримаємо нескінченний цикл. Як правило - це погано. Нескінченні цикли відомі як логічні помилки, і їх потрібно уникати. Існує інший спосіб вирватися з циклу, для цього потрібно використовувати вбудовану функцію break. Давайте подивимося, як це працює:
У цій частині коду ми додали умовний вираз для перевірки того, чи дорівнює коли-небудь змінна i цифрі 5. Якщо немає, тоді ми розриваємо цикл. Як ви бачите у видачі коду, як тільки значення досягає п'яти, код зупиняється, навіть якщо ми раніше вказали while продовжувати цикл, поки змінна не досягне значення 10. Зверніть увагу на те, що ми змінили те, як ми збільшуємо значення за допомогою + = . Це зручний ярлик, який ви можете також використовувати в інших операціях, таких як віднімання - = і множення * =. Вбудований break також відомий як інструмент управління потоку. Існує ще один, під назвою continue. який в основному використовується для пропуску ітерації, або перейти до наступної ітерації. Ось один із способів його застосування:
Злегка заплутано, чи не так? Ми додали другий умовний вираз, яке перевіряє, чи не дорівнює чи i трьом. Якщо так, ми збільшуємо змінну і переходимо до наступного циклу. який вдало пропускає висновок значення 3 на екран. Як і раніше, коли ми досягаємо значення 5, ми розриваємо цикл. Існує ще одна тема, що стосується циклів, яку нам потрібно торкнутися - це оператор else.
Навіщо потрібен else при роботі з циклами?
Оператор else в циклах виконується тільки в тому випадку, якщо цикл виконаний успішно. Головне завдання оператора else. це пошук об'єктів:
my_list = [1. 2. 3. 4. 5]
for i in my_list.
print ( "Item found!")
print ( "Item not found!")
Підведемо підсумки
Сподіваюся, з цього моменту ви усвідомили всю значимість циклів в Python. Вони роблять повторення дуже простим, і досить зрозумілим. Ви будете стикатися з циклом for набагато частіше, ніж з циклом while. Якщо ви все ще не зовсім розумієте, як це працює, настійно рекомендую перечитати цю статтю, перед тим як продовжити.