У Python цикл while використовується для повторення визначеного блоку коду, поки не буде виконана певна умова.

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

while condition:
    # body of while loop

  • condition (умова) – логічний вираз, що обчислюється у циклі while
  • якщо condition дорівнює True, виконується тіло циклу while, і condition обчислюється знову
  • цей процес продовжується до тих пір, поки умова не поверне значення False
  • як тільки condition набуває значення False, цикл завершується

Приклад:

number = 1

while number <= 3:
    print(number, end=' ')
    number = number + 1

# 1 2 3

В прикладі вище, цикл while використовується для друку чисел від 1 до 3. Цикл виконується до тих пір, поки умова number <= 3 дорівнює True.

Приклад використання циклу while у Python

number = int(input('Enter a number: '))

while number != 0:
    print('You entered:', number)
    number = int(input('Enter a number: '))

print('The end')

Програма з прикладу вище, просить користувача ввести число. Якщо користувач вводить число, відмінне від 0, воно виводиться на екран. Якщо користувач вводить 0, цикл завершується.

Протестуємо програму:

Enter a number: 1
You entered: 1
Enter a number: 0
The end

Безкінечний цикл while

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

value = 5

while value > 0:
    print('value more than zero')

Цикл while та оператор break

Оператор break всередині циклу while, використовується для негайного завершення циклу, незалежно від поточного стану умови. Наприклад:

while True:
    value = input('Enter value: ')

    if value == 'end':
        print('End loop')
        break

    print('Entered value: ', value)

В цьому прикладі, умова циклу while завжди дорівнює True. Однак, якщо користувач вводить значення end, виконання циклу завершується, завдяки оператору break:

Enter value: 1
Entered value:  1
Enter value: end
End loop

Цикл while та оператор else

Цикл while у Python може містити необов’язковий оператор else, який виконується коли умова циклу має значення False. Наприклад:

counter = 0

while counter < 2:
    print('Counter value:', counter)
    counter = counter + 1
else:
    print('Else block')

В цьому прикладі, після другої ітерації лічильник дорівнює значенню 2, що призводить до завершення циклу while. Після цього додатково виконується тіло блоку else:

Counter value: 0
Counter value: 1
Else block

Зауваження: якщо цикл while завершується оператором break, блок else не буде виконано.


Мітки: