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



Pdf көрінісі
бет54/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   50   51   52   53   54   55   56   57   ...   238
Байланысты:
2 5343781172763690906

toppings.py

requested_topping = 'mushrooms'

if requested_topping != 'anchovies':



    print("Hold the anchovies!")


86    Глава 5  •  Команды if

Строка  сравнивает значение 

requested_topping

 со значением 

'anchovies'

. Если 


эти два значения не равны, Python возвращает 

True


 и выполняет код после команды 

if

. Если два значения равны, Python возвращает 



False

 и не выполняет код после 

команды 

if

. Так как значение 



requested_topping

 отлично от 

'anchovies'

, команда 

print

 будет выполнена:



Hold the anchovies!

В большинстве условных выражений, которые вы будете использовать в програм-

мах, будет проверяться равенство, но иногда проверка неравенства оказывается 

более эффективной.

Сравнения чисел

Проверка числовых значений достаточно прямолинейна. Например, следующий 

код проверяет, что переменная 

age


 равна 18:

>>> age = 18

>>> age == 18

True


Также можно проверить условие неравенства двух чисел. Например, следующий 

код выводит сообщение, если значение переменной 

answer

 отлично от ожидаемого:



magic_ number.py

answer = 17

if answer != 42:



    print("That is not the correct answer. Please try again!")

Условие  выполняется, потому что значение 

answer

 (17) не равно 42. Так как 



условие истинно, блок с отступом выполняется:

That is not the correct answer. Please try again!

В условные команды также можно включать всевозможные математические срав-

нения: меньше, меньше или равно, больше, больше или равно:

>>> age = 19

>>> age < 21

True

>>> age <= 21



True

>>> age > 21

False

>>> age >= 21



False

Все эти математические сравнения могут использоваться в условиях 

if

, что повы-



шает точность формулировки интересующих вас условий.

Проверка нескольких условий

Иногда требуется проверить несколько условий одновременно. Например, в не-

которых случаях для выполнения действия бывает нужно, чтобы истинными были 




Проверка условий    87

сразу два условия; в других случаях достаточно, чтобы истинным было хотя бы 

одно из двух условий. Ключевые слова 

and


 и 

or

 помогут вам в подобных ситуациях.



Использование and для проверки нескольких условий

Чтобы проверить, что два условия истинны одновременно, объедините их ключевым 

словом 

and


; если оба условия истинны, то и все выражение тоже истинно. Если хотя 

бы одно (или оба) условия ложны, то и результат всего выражения равен 

False

.

Например, чтобы убедиться в том, что каждому из двух людей больше 21 года, ис-



пользуйте следующую проверку:

>>> age_0 = 22 



>>> age_1 = 18 

>>> age_0 >= 21 and age_1 >= 21 



False 

  >>> age_1 = 22 



>>> age_0 >= 21 and age_1 >= 21 

True 


В точке  определяются две переменные, 

age_0


 и 

age_1


. В точке  программа про-

веряет, что оба значения равны 21 и более. Левое условие выполняется, а правое 

нет, поэтому все условное выражение дает результат 

False


. В точке  переменной 

age_1


 присваивается значение 22. Теперь значение 

age_1


 больше 21; обе проверки 

проходят, а все условное выражение дает истинный результат.

Чтобы код лучше читался, отдельные условия можно заключить в круглые скобки, 

но это не обязательно. С круглыми скобками проверка может выглядеть так:

(age_0 >= 21) and (age_1 >= 21)

Использование or для проверки нескольких условий

Ключевое слово 

or

 тоже позволяет проверить несколько условий, но результат 



общей проверки является истинным в том случае, когда истинно хотя бы одно 

или оба условия. Ложный результат достигается только в том случае, если оба от-

дельных условия ложны.

Вернемся к примеру с возрастом, но на этот раз проверим, что хотя бы одна из двух 

переменных больше 21:

>>> age_0 = 22



>>> age_1 = 18

>>> age_0 >= 21 or age_1 >= 21



True

>>> age_0 = 18



>>> age_0 >= 21 or age_1 >= 21

False


Как и в предыдущем случае, в точке  определяются две переменные. Так как ус-

ловие для 

age_0

 в точке  истинно, все выражение также дает истинный результат. 



Затем значение 

age_0


 уменьшается до 18. При проверке  оба условия оказываются 

ложными, и общий результат всего выражения тоже ложен.




88    Глава 5  •  Команды if

Проверка вхождения значений в список

Иногда бывает важно проверить, содержит ли список некоторое значение, пре-

жде чем выполнять действие. Например, перед завершением регистрации нового 

пользователя на сайте можно проверить, существует ли его имя в списке имен 

действующих пользователей, или в картографическом проекте определить, входит 

ли передаваемое место в список известных мест на карте.

Чтобы узнать, присутствует ли заданное значение в списке, воспользуйтесь клю-

чевым словом 

in

. Допустим, вы пишете программу для пиццерии. Вы создали 



список дополнений к пицце, заказанных клиентом, и хотите проверить, входят ли 

некоторые дополнения в этот список.

>>> requested_toppings = ['mushrooms', 'onions', 'pineapple']

>>> 'mushrooms' in requested_toppings



True

>>> 'pepperoni' in requested_toppings



False

В точках  и  ключевое слово 

in

 приказывает Python проверить, входят ли зна-



чения 

'mushrooms'

 и 

'pepperoni'



 в список 

requested_toppings

. Это весьма полезно, 

потому что вы можете создать список значений, критичных для вашей программы, 

а затем легко проверить, присутствует ли проверяемое значение в списке.

Проверка отсутствия значения в списке

В других случаях программа должна убедиться в том, что значение не входит 

в список. Для этого используется ключевое слово 

not

. Для примера рассмотрим 



список пользователей, которым запрещено писать комментарии на форуме. Прежде 

чем разрешить пользователю отправку комментария, можно проверить, не был ли 

пользователь включен в «черный список»:

banned_users.py

banned_users = ['andrew', 'carolina', 'david']

user = 'marie'

if user not in banned_users:



    print(user.title() + ", you can post a response if you wish.")

Строка  достаточно четко читается: если пользователь не входит в «черный 

список» 

banned_users

, то Python возвращает 

True


 и выполняет строку с отступом. 

Пользователь 

'marie'

 в этот список не входит, поэтому программа выводит соот-

ветствующее сообщение:

Marie, you can post a response if you wish.

Логические выражения

В процессе изучения программирования вы рано или поздно услышите термин 

«логическое выражение». По сути это всего лишь другое название для проверки 



Команды if    89

условия. Результат логического выражения равен 

True

 или 


False

, как и результат 

условного выражения после его вычисления.

Логические выражения часто используются для проверки некоторых условий — 

например, запущена ли компьютерная игра или разрешено ли пользователю редак-

тирование некоторой информации на сайте:

game_active = True

can_edit = False

Логические выражения предоставляют эффективные средства для контроля со-

стояния программы или определенного условия, играющего важную роль в вашей 

программе.



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




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

    Басты бет