Нескінченний цикл
Свайпніть щоб показати меню
Нескінченний цикл — це цикл, який ніколи не завершується, оскільки умова, що його контролює, ніколи не набуває значення False. Такі цикли можуть призвести до зависання або аварійного завершення програми, тому їх слід уникати, якщо це не потрібно навмисно.
Якщо умова завжди дорівнює True, цикл виконуватиметься безкінечно. Наприклад, розглянемо ситуацію, пов'язану з подорожами:
# Infinite loop example
while 'Barcelona' in ['Monako', 'Liverpool', 'Barcelona', 'Munchen']:
print('I found Barcelona!')
- Умова
'Barcelona' in [...]завжди будеTrue, оскільки'Barcelona'присутня у списку. Це еквівалентноwhile True:; - Цикл безперервно виводить
'I found Barcelona!'без можливості зупинки.
Неправильно оновлена змінна циклу також може призвести до нескінченного циклу. Наприклад:
# Another infinite loop example
i = 0
travel_list = ['Monako', 'Luxemburg', 'Liverpool', 'Barcelona', 'Munchen']
while i < len(travel_list):
print(travel_list[i])
# Missing increment: i += 1
- Індекс
iніколи не збільшується, тому умоваi < len(travel_list)завждиTrue; - Цикл безкінечно виводить перше місто (
'Monako').
Щоб уникнути нескінченних циклів, переконайтеся, що умова циклу розроблена так, щоб у підсумку оцінюватися як False. Це означає, що умова має бути динамічною та змінюватися під час виконання циклу. Крім того, якщо ви використовуєте змінну (наприклад, лічильник) для керування циклом, переконайтеся, що вона правильно збільшується або оновлюється всередині циклу, щоб запобігти залишенню умови True безкінечно.
1. У чому проблема з наступним кодом?
2. Як можна змінити цей цикл, щоб він не виконувався безкінечно?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат