Усе про Python While Loop із прикладами

Усе про Python While Loop із прикладами

Вихідний вузол: 3091323

Вступ

Цикл while — це фундаментальний оператор потоку керування в Python, який дозволяє вам багаторазово виконувати блок коду, доки виконується певна умова. Він забезпечує спосіб автоматизації повторюваних завдань і повторення послідовності значень. У цій статті буде розглянуто синтаксис, використання та різні застосування циклів while у Python.

Цикл while на Python

Зміст

Синтаксис і структура циклу While

Синтаксис циклу while у Python такий:

while condition:
    # code to be executed

Умова — це булевий вираз, який визначає, чи повинен цикл продовжуватися чи завершуватися. Якщо умова вважається Істинною, блок коду всередині циклу буде виконуватися повторно. Коли умова стає False, цикл завершується, і програма продовжить виконання наступного оператора після циклу.

Основне використання та приклади

Почнемо з простого прикладу, щоб зрозуміти базове використання циклу while. Припустімо, ми хочемо надрукувати числа від 1 до 5. Ми можемо досягти цього за допомогою циклу while, як показано нижче:

num = 1
while num <= 5:
    print(num)
    num += 1

Вихід

1

2

3

4

5

У цьому прикладі ми ініціалізуємо змінну `num` до 1. Цикл while продовжується, якщо `num` менше або дорівнює 5. Усередині циклу ми друкуємо значення `num`, а потім збільшуємо його на 1 за допомогою оператор `+=`. Цей процес повторюється, доки `num` не стане 6, коли умова стає False, і цикл завершується.

Керування потоком за допомогою операторів керування циклом

Python надає три оператори керування циклом, 'break', 'continue' і 'pass', щоб дозволити вам контролювати потік циклу while.

Твердження «розрив».

Інструкція `break` використовується для передчасного виходу з циклу, навіть якщо умова циклу все ще виконується. Його часто використовують, коли виконується певна умова, і ви хочете негайно завершити цикл. Ось приклад:

num = 1
while num <= 10:
    if num == 6:
        break
    print(num)
    num += 1

Вихід

1

2

3

4

5

У цьому прикладі цикл завершується, коли `num` стає 6, оскільки ми використали оператор `break` всередині умови if. У результаті друкуються лише числа від 1 до 5.

Заява «продовжити».

Оператор `continue` використовується для пропуску решти блоку коду всередині циклу та переходу до наступної ітерації. Це корисно, коли ви хочете пропустити певні значення чи умови та продовжити наступну ітерацію. Ось приклад:

num = 1
while num <= 5:
    if num == 3:
        num += 1
        continue
    print(num)
    num += 1

Вихід

1

2

4

5

У цьому прикладі цикл пропускає значення 3, оскільки ми використали оператор `continue` всередині умови if. У результаті число 3 не друкується, і цикл продовжується з наступною ітерацією.

Заява «пас».

Інструкція `pass` є заповнювачем, коли ви не хочете нічого робити всередині циклу. Його часто використовують як тимчасовий заповнювач під час розробки або коли ви хочете створити порожній цикл. Ось приклад:

num = 1
while num <= 5:
    pass
    num += 1

У цьому прикладі оператор `pass` нічого не робить, і цикл збільшує значення `num`, поки воно не стане 6.

Загальні випадки використання та застосування

Цикли While мають широкий спектр застосувань у Python. Давайте розглянемо деякі типові випадки використання:

Ітерація до виконання умови

Цикли While зазвичай використовуються, коли ви хочете повторювати, доки не буде виконано певну умову. Наприклад, ми хочемо знайти перший ступінь числа 2, більший за 1000. Для цього ми можемо використати цикл while:

num = 1
while num <= 1000:
    num *= 2
print(num)

Вихід

1024

У цьому прикладі цикл продовжується, доки `num` не перевищить 1000. Для кожної ітерації `num` множиться на 2, і кінцеве значення друкується.

Перевірка введених користувачем даних

Цикли While корисні для перевірки введених даних користувача та забезпечення відповідності введених даних певним критеріям. Наприклад, ми хочемо запропонувати користувачеві ввести додатне ціле число. Ми можемо використовувати цикл while для запиту введення, доки дійсне ціле число не буде введено повторно:

while True:
    try:
        num = int(input("Enter a positive integer: "))
        if num > 0:
            break
        else:
            print("Invalid input. Please enter a positive integer.")
    except ValueError:
        print("Invalid input. Please enter a valid integer.")

У цьому прикладі цикл триває нескінченно довго, доки не буде введено дійсне позитивне ціле число. Блок `try-except` обробляє потенційні помилки під час перетворення вхідних даних у ціле число.

Створення нескінченних циклів

Цикли While можна використовувати для створення нескінченних циклів, які триватимуть нескінченно довго, доки не буде виконано певну умову. Наприклад, давайте створимо простий нескінченний цикл, який друкує «Hello, World!» неодноразово:

while True:
    print("Hello, World!")

У цьому прикладі умова циклу завжди True, тому цикл триває нескінченно. Щоб завершити цикл, ви можете використати інструкцію `break` або перервати виконання програми.

Нескінченний цикл може бути корисним у контексті системи моніторингу або журналювання в реальному часі. Уявіть ситуацію, коли ви повинні постійно стежити за системою або мережею на предмет певних подій або змін і реєструвати інформацію. Для перевірки цих умов і постійного виконання відповідних дій можна використовувати нескінченний цикл.

Реалізація ігрових циклів

Цикли While зазвичай використовуються в розробці ігор для реалізації ігрових циклів, які контролюють хід гри та обробляють введення користувача. Ігровий цикл зазвичай складається з трьох основних компонентів: оновлення стану гри, відтворення ігрової графіки та обробка введених користувачем даних. Ось спрощений приклад:

game_running = True
while game_running:
    # Update game state
    # Render game graphics
    # Handle user input

У цьому прикладі цикл триває, поки змінна game_running має значення True. Усередині циклу ви оновлюєте стан гри, візуалізуєте ігрову графіку та обробляєте введені користувачем дані. Цей процес повторюється, доки гра не закінчиться або гравець не вирішить вийти.

Читайте також: Повний навчальний посібник з Python для вивчення Data Science з нуля

Вкладені цикли While і вкладеність циклів

Python дозволяє вам вкладати цикли while, що означає, що ви можете мати цикл while всередині іншого циклу while. Це корисно, коли вам потрібно виконувати повторювані завдання в межах повторюваних завдань. Ось приклад:

outer_num = 1
while outer_num <= 3:
    inner_num = 1
    while inner_num <= 3:
        print(outer_num, inner_num)
        inner_num += 1
    outer_num += 1

Вихід

1 1

1 2

1 3

2 1

2 2

2 3

3 1

3 2

3 3

У цьому прикладі ми маємо зовнішній цикл while, який повторюється від 1 до 3, і внутрішній цикл while, який повторює від 1 до 3 для кожної ітерації зовнішнього циклу. Інструкція print усередині внутрішнього циклу відображає значення обох змінних циклу.

Поради та найкращі практики щодо використання циклів While

Хоча цикли є потужними конструкціями, вони також можуть бути схильні до помилок, якщо їх використовувати неправильно. Ось кілька порад і найкращих практик, про які слід пам’ятати під час використання циклів while:

Правильна ініціалізація змінних

Перед входом у цикл while ініціалізуйте будь-які змінні циклу їх початковими значеннями. Це гарантує, що умова циклу оцінюється правильно, і запобігає неочікуваній поведінці. Наприклад:

count = 0
while count < 10:
    print(count)
    count += 1

У цьому прикладі ми ініціалізуємо змінну `count` до 0 перед входом у цикл.

Забезпечення завершення циклу

Щоб уникнути нескінченних циклів, завжди переконайтеся, що умова циклу зрештою стане False. Цього можна досягти шляхом оновлення змінних циклу або використання операторів керування циклом, таких як `break`. Наприклад:

num = 1
while num <= 10:
    if num == 6:
        break
    print(num)
    num += 1

У цьому прикладі цикл завершується, коли `num` стає 6 через оператор `break`.

Уникнення нескінченних циклів

Будьте обережні, використовуючи цикли while, щоб уникнути створення нескінченних циклів, які ніколи не закінчуються. Нескінченні цикли можуть призвести до збоїв програми та споживати надмірні системні ресурси. Завжди ще раз перевіряйте умови циклу та переконайтеся, що вони можуть стати False в якийсь момент.

Написання зручного для читання коду

Цикли While можуть стати складними та складними для розуміння, якщо їх не записати належним чином. Використовуйте змістовні назви змінних, додавайте коментарі, щоб пояснити мету циклу, і розбивайте складні завдання на менші підзадачі. Це робить ваш код більш читабельним і зручним для обслуговування.

Просунуті техніки та трюки

Цикли While можна використовувати в просунутих способах для досягнення конкретних завдань. Ось деякі передові прийоми та прийоми:

Цикл із операторами Else

У Python ви можете використовувати оператор else із циклом while для виконання блоку коду, коли умова циклу стає False. Інший блок виконується, лише якщо цикл завершується нормально без будь-яких операторів break. Ось приклад:

num = 1
while num <= 5:
    print(num)
    num += 1
else:
    print("Loop completed")

Вихід

1

2

3

4

5

Цикл завершено

У цьому прикладі блок else виконується після нормального завершення циклу.

Використання циклів While зі списками та рядками

Цикли While можна використовувати для перебору списків і рядків за допомогою змінної індексу. Ось приклад:

fruits = ["apple", "banana", "cherry"]
index = 0
while index < len(fruits):
    print(fruits[index])
    index += 1

Вихід

apple

банан

вишня

У цьому прикладі цикл while виконує ітерацію по елементах списку «фруктів» за допомогою змінної index.

Читайте також: Усе, що вам слід знати про вбудовані структури даних у Python – посібник для початківців!

Порівняння з іншими циклічними конструкціями в Python

Цикли While є лише однією з кількох конструкцій циклів, доступних у Python. Давайте порівняємо цикли while з циклами for і рекурсією:

Цикли While проти циклів For

Хоча і цикли, і цикли використовуються для ітерації, вони мають різні варіанти використання. Цикли While є більш гнучкими та можуть працювати зі складними умовами, а цикли for краще підходять для повторення послідовності значень. Цикли While корисні, коли ви заздалегідь не знаєте точну кількість ітерацій або вам потрібно виконати складні обчислення. Цикли корисні, коли потрібно перебирати послідовність значень, наприклад список або рядок.

Цикли While проти рекурсії

Рекурсія — це техніка, за якої функція викликає саму себе для вирішення проблеми. Його можна використовувати для виконання повторюваних завдань, подібних до циклів while, але він має деякі відмінності. Цикли While більше підходять для ітераційних завдань, де ви маєте чітку умову завершення та повинні виконати фіксовану кількість ітерацій. Рекурсія більше підходить для вирішення проблем, розділених на менші підпроблеми, таких як пошук, сортування та алгоритми обходу дерева.

Висновок

У цій статті ми досліджували концепцію циклів while у Python. Ми дізналися про їхній синтаксис, базове використання та різноманітні застосування. Ми також обговорили поради, найкращі практики, типові помилки та передові методи використання циклів while. Нарешті, ми порівняли цикли while з іншими конструкціями циклів у Python. Маючи ці знання, тепер ви можете ефективно використовувати цикли while для автоматизації повторюваних завдань і повторення послідовностей значень у своїх програмах Python.

Розкрийте силу досконалості штучного інтелекту та машинного навчання! Зареєструйтеся зараз у нас Сертифікована програма AI & ML BlackBelt Plus і піднесіть свої навички до нових висот. Не пропустіть можливість освоїти новітні технології – змініть свою кар’єру вже сьогодні!

Крім того, якщо ви шукаєте онлайн-курс Python, перегляньте наш – Знайомство з програмою Python сьогодні!

Часова мітка:

Більше від Аналітика Vidhya