Особое внимание уделите изменению значения управляющей переменной. Неправильно составленное условие может привести к бесконечному циклу. Рассмотрим пример зацикливания программы: k = 10 while k > 5: print(k) k = k + 1 Здесь цикл будет выполняться, пока k больше 5. Изначально k у нас больше 5, далее значение k только увеличивается, поэтому мы получим бесконечный цикл - программа будет бесконечно увеличивать значение k и выводить его: 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 Прервать выполнение зацикленной программы можно с помощью комбинации клавиш Ctrl + С: Traceback (most recent call last): File "E:/Python39/loop.py", line 3, in <nodule> print(k) File "E:\Python39\lib\idlelib\PyShell.py", line 1344, in write return self.shell.write(s, self.tags) Keyboardinterrupt >>> Как исправить бесконечный цикл. Здесь нужно или редактировать условие или же процесс изменения значения управляющей переменной. Например, можно сделать декремент управляющей переменной: k = k – 1 Тогда программа выведет 5 чисел и завершит свою работу: 10 9 8 7 6 Если разложить наш цикл на итерации, то получится табличка, приведенная ниже. Итерации цикла Номер итерации Значениеk Проверка условия Действия 1 10 true print (k) # 10 k = k - 1 # 9 9 2 9 true print(k) # k = k - 1 # 8 3 8 true print(k) # 8 k = k - 1 # 7 4 7 true print (k) # 7 k = k - 1 # 6 5 6 true print(k) # 6 k = k - 1 # 5 6 5 false – Можно было бы изменить и условие, например: k = 10 while k < 15: print (k) k = k + 1 Тогда программа выведет: 10 11 12 13 14 Типичная ошибка новичков - многие вообще забывают изменять переменную в цикле. Например: # Внимание! Код содержит ошибку! k = 1 while k <= 10: print (k) Очевидно, программист хотел, чтобы программа отобразила числа от 1 до 10, но забыл изменить значение k в теле цикла. Следовательно, программа будет выполняться бесконечно. Подытожим. Чтобы не получить бесконечный цикл, необходимо: 1. Следить за начальным значением управляющей переменной 2. Проанализировать условие выхода из цикла 3. Следить за процессом изменения значения управляющей переменной: ей должны присваиваться такие значения, которые рано или поздно приведут к выходу из цикла
Будни питониста
:Олег Петухов
Бесконечный цикл по ошибке.
Особое внимание уделите изменению значения управляющей переменной. Неправильно составленное условие может привести к бесконечному циклу. Рассмотрим пример зацикливания программы:
k = 10
while k > 5:
print(k)
k = k + 1
Здесь цикл будет выполняться, пока k больше 5. Изначально k у нас больше 5, далее значение k только увеличивается, поэтому мы получим бесконечный цикл - программа будет бесконечно увеличивать значение k и выводить его:
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
Прервать выполнение зацикленной программы можно с помощью комбинации клавиш Ctrl + С:
Traceback (most recent call last):
File "E:/Python39/loop.py", line 3, in <nodule>
print(k)
File "E:\Python39\lib\idlelib\PyShell.py", line 1344,
in write
return self.shell.write(s, self.tags)
Keyboardinterrupt
>>>
Как исправить бесконечный цикл. Здесь нужно или редактировать условие или же процесс изменения значения управляющей переменной. Например, можно сделать декремент управляющей переменной:
k = k – 1
Тогда программа выведет 5 чисел и завершит свою работу:
10
9
8
7
6
Если разложить наш цикл на итерации, то получится табличка, приведенная ниже.
Итерации цикла
Номер итерации Значениеk Проверка условия Действия
1 10 true print (k) # 10 k = k - 1 # 9
9 2 9 true print(k) # k = k - 1 # 8
3 8 true print(k) # 8 k = k - 1 # 7
4 7 true print (k) # 7 k = k - 1 # 6
5 6 true print(k) # 6 k = k - 1 # 5
6 5 false –
Можно было бы изменить и условие, например:
k = 10
while k < 15:
print (k)
k = k + 1
Тогда программа выведет:
10
11
12
13
14
Типичная ошибка новичков - многие вообще забывают изменять переменную в цикле. Например:
# Внимание! Код содержит ошибку!
k = 1
while k <= 10:
print (k)
Очевидно, программист хотел, чтобы программа отобразила числа от 1 до 10, но забыл изменить значение k в теле цикла. Следовательно, программа будет выполняться бесконечно.
Подытожим. Чтобы не получить бесконечный цикл, необходимо:
1. Следить за начальным значением управляющей переменной
2. Проанализировать условие выхода из цикла
3. Следить за процессом изменения значения управляющей переменной: ей должны присваиваться такие значения, которые рано или поздно приведут к выходу из цикла