Книга «Изучаем Python»



Pdf көрінісі
бет80/266
Дата03.03.2023
өлшемі7,86 Mb.
#170986
түріКнига
1   ...   76   77   78   79   80   81   82   83   ...   266
Байланысты:
Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )


Глава 7 • Ввод данных и циклы while
управляет ходом выполнения программы; она позволит вам управлять тем, какая 
часть кода выполняется, а какая нет.
Рассмотрим пример — программу, которая спрашивает у пользователя, в каких го-
родах он бывал. Чтобы прервать цикл 
while
, программа выполняет команду 
break

как только пользователь введет значение 
'quit'
:
cities.py
prompt = "\nPlease enter the name of a city you have visited:"
prompt += "\n(Enter 'quit' when you are finished.) "
 
while True:
city = input(prompt)
if city == 'quit':
break
else:
print("I'd love to go to " + city.title() + "!")
Цикл, который начинается с 
while
True

, будет выполняться бесконечно — если 
только в нем не будет выполнена команда 
break
. Цикл в программе продолжает 
запрашивать у пользователя названия городов, пока пользователь не введет строку 
'quit'
. При вводе строки 
'quit'
выполняется команда 
break
, по которой Python 
выходит из цикла:
Please enter the name of a city you have visited:
(Enter 'quit' when you are finished.) 
New York
I'd love to go to New York!
Please enter the name of a city you have visited:
(Enter 'quit' when you are finished.) 
San Francisco
I'd love to go to San Francisco!
Please enter the name of a city you have visited:
(Enter 'quit' when you are finished.) 
quit
ПРИМЕЧАНИЕ
Команда break может использоваться в любых циклах Python . Например, ее можно вклю-
чить в цикл for для перебора элементов словаря .
Команда continue и продолжение цикла
Вместо того чтобы полностью прерывать выполнение цикла без выполнения остав-
шейся части кода, вы можете воспользоваться командой 
continue
для возвращения 
к началу цикла и проверке условия. Например, возьмем цикл, который считает от 1 
до 10, но выводит только нечетные числа в этом диапазоне:
counting.py
current_number = 0
while current_number < 10:
 
current_number += 1
if current_number % 2 == 0:


Циклы while
129
continue
print(current_number)
Сначала переменной 
current_number
присваивается 0. Так как значение меньше 10, 
Python входит в цикл 
while
. При входе в цикл счетчик увеличивается на 1 в точ-
ке 

, поэтому 
current_number
принимает значение 1. Затем команда 
if
проверяет 
остаток от деления 
current_number
на 2. Если остаток равен 0 (это означает, что 
current_number
делится на 2), команда 
continue
приказывает Python проигно-
рировать оставшийся код цикла и вернуться к началу. Если счетчик не делится 
на 2, то оставшаяся часть цикла выполняется, и Python выводит текущее значение 
счетчика:
1
3
5
7
9
Предотвращение зацикливания
У каждого цикла 
while
должна быть предусмотрена возможность завершения, что-
бы цикл не выполнялся бесконечно. Например, следующий цикл считает от 1 до 5:
counting.py
x = 1
while x <= 5:
print(x)
x += 1
Но если случайно пропустить строку 
x
+=
1
(см. далее), то цикл будет выполняться 
бесконечно:
# Бесконечный цикл!
x = 1
while x <= 5:
print(x)
Теперь переменной 
x
присваивается начальное значение 1, но это значение никог-
да не изменяется в программе. В результате проверка условия 
x
<=
5
всегда дает 
результат 
True
, и цикл 
while
выводит бесконечную серию единиц:
1
1
1
1

Любой программист время от времени пишет бесконечный цикл, особенно если 
в программе используются неочевидные условия завершения. Если ваша про-
грамма зациклилась, нажмите Ctrl+C или просто закройте терминальное окно 
с выводом программы.


130

Достарыңызбен бөлісу:
1   ...   76   77   78   79   80   81   82   83   ...   266




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет