Глава 7 • Ввод данных и циклы while
1
1
1
1
...
Любой программист время от времени пишет бесконечный цикл, особенно если
в программе используются неочевидные условия завершения. Если ваша про-
грамма зациклилась, нажмите Ctrl+C или просто закройте терминальное окно
с выводом программы.
Чтобы избежать зацикливания, тщательно проверьте каждый цикл
while
и убе-
дитесь в том, что цикл прерывается именно тогда, когда предполагается. Если
программа должна завершаться при вводе некоторого значения, запустите про-
грамму и введите это значение. Если программа не завершилась, проанализируйте
обработку значения, которое должно приводить к выходу из цикла. Проверьте, что
хотя бы одна часть программы может привести к тому, что условие цикла станет
равно
False
или будет выполнена команда
break
.
ПРИМЕЧАНИЕ В некоторых редакторах — в частности, в Sublime Text — используется
встроенное окно вывода . Оно может усложнить прерывание бесконечных циклов; воз-
можно, для выхода из цикла придется закрыть редактор . Прежде чем нажимать Ctrl+C, по-
пробуйте щелкнуть в области вывода; возможно, вам удастся прервать бесконечный цикл .
УПРАЖНЕНИЯ 7.4. Топпинг для пиццы: напишите цикл, который предлагает пользователю вводить до-
полнения для пиццы до тех пор, пока не будет введено значение
'quit'
. При вводе каждого
дополнения выведите сообщение о том, что это дополнение включено в заказ.
7.5. Билеты в кино: кинотеатр установил несколько вариантов цены на билеты в зависи-
мости от возраста посетителя. Для посетителей младше 3 лет билет бесплатный; в возрасте
от 3 до 12 билет стоит $10; наконец, если возраст посетителя больше 12, билет стоит $15.
Напишите цикл, который предлагает пользователю ввести возраст и выводит цену билета.