У 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 не буде виконано.