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



Pdf көрінісі
бет57/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   53   54   55   56   57   58   59   60   ...   238
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.")




Команды if    95

elif 'extra cheese' in requested_toppings:

print("Adding extra cheese.")

print("\nFinished making your pizza!")

Первое же проверяемое условие (для 

'mushrooms'

) оказывается истинным. Од-

нако значения 

'extra

 

cheese'



 и 

'pepperoni'

 после этого не проверяются, потому 

что в цепочках 

if

-

elif



-

else


 после обнаружения первого истинного условия все 

остальные условия пропускаются. В результате в пиццу будет включено только 

первое из заказанных дополнений:

Adding mushrooms.

Finished making your pizza!

Итак, если вы хотите, чтобы в программе выполнялся только один блок кода, — ис-

пользуйте цепочку 

if

-



elif

-

else



. Если же выполняться должны несколько блоков, 

используйте серию независимых команд 

if

.



Достарыңызбен бөлісу:
1   ...   53   54   55   56   57   58   59   60   ...   238




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

    Басты бет