М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет72/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   68   69   70   71   72   73   74   75   ...   334
Байланысты:
Изучаем Python


Глава 5 • Команды if
Однако иногда бывает важно проверить 
все
условия, представляющие интерес. 
В таких случаях следует применять серии простых команд 
if
без блоков 
elif
или 
else
. Такое решение уместно, когда истинными могут быть сразу несколько усло-
вий и вы хотите отреагировать на все истинные.
Вернемся к примеру с пиццей. Если кто-то закажет пиццу с двумя топпингами, 
программа должна обработать оба топпинга:
toppings.py

requested_toppings = ['mushrooms', 'extra cheese']

if 'mushrooms' in requested_toppings:
print("Adding mushrooms.")

if 'pepperoni' in requested_toppings:
print("Adding pepperoni.")

if 'extra cheese' in requested_toppings:
print("Adding extra cheese.")
print("\nFinished making your pizza!")
Обработка начинается в точке 

со списка, содержащего заказанные топпинги. 
Команды 
if
в точке 

проверяют, включает ли заказ конкретные топпинги — гри-
бы и пепперони, и если включает, выводят подтверждающее сообщение. Проверка 
в точке 

реализована простой командой 
if
, а не 
elif
или 
else
, поэтому условие 
будет проверяться независимо от того, было ли предыдущее условие истинным или 
ложным. Код в точке 

проверяет, была ли заказана дополнительная порция сыра, 
независимо от результата первых двух проверок. Эти три независимых условия 
проверяются при каждом выполнении программы.
Так как в этом коде проверяются все возможные варианты топпингов, в заказ будут 
включены два топпинга из трех:
Adding mushrooms.
Adding extra cheese.
Finished making your pizza!
Если бы в программе использовался блок 
if
-
elif
-
else
, код работал бы непра-
вильно, потому что он прерывал бы работу после обнаружения первого истинного 
условия. Вот как это выглядело бы:
requested_toppings = ['mushrooms', 'extra cheese']
if 'mushrooms' in requested_toppings:
print("Adding mushrooms.")
elif 'pepperoni' in requested_toppings:
print("Adding pepperoni.")
elif 'extra cheese' in requested_toppings:
print("Adding extra cheese.")
print("\nFinished making your pizza!")


Команды if
99
Первое же проверяемое условие (для 
'mushrooms'
) оказывается истинным. Од-
нако значения 
'extra
cheese'
и 
'pepperoni'
после этого не проверяются, потому 
что в цепочках 
if
-
elif
-
else
после обнаружения первого истинного условия все 
остальные условия пропускаются. В результате в пиццу будет включено только 
первый из заказанных топпингов:
Adding mushrooms.
Finished making your pizza!
Итак, если вы хотите, чтобы в программе выполнялся только один блок кода, ис-
пользуйте цепочку 
if
-
elif
-
else
. Если же выполняться должны несколько блоков, 
используйте серию независимых команд 
if
.


Достарыңызбен бөлісу:
1   ...   68   69   70   71   72   73   74   75   ...   334




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

    Басты бет