Условие (1) выполняется, потому что значение 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, что повышает точность формулировки интересующих вас условий.

<p>Проверка нескольких условий</p>

Иногда требуется проверить несколько условий одновременно. Например, в некоторых случаях для выполнения действия бывает нужно, чтобы истинными были сразу два условия; в других случаях достаточно, чтобы истинным было хотя бы одно из двух условий. Ключевые слова and и or помогут вам в подобных ситуациях.

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

Чтобы проверить, что два условия истинны одновременно, объедините их ключевым словом and; если оба условия истинны, то и все выражение тоже истинно. Если хотя бы одно (или оба) условия ложны, то и результат всего выражения равен False.

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

(1) >>> age_0 = 22

>>> age_1 = 18

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

False

(3) >>> age_1 = 22

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

True

В точке (1) определяются две переменные, age_0 и age_1. В точке (2) программа проверяет, что оба значения равны 21 и более. Левое условие выполняется, а правое нет, поэтому все условное выражение дает результат False. В точке (3) переменной age_1 присваивается значение 22. Теперь значение age_1 больше 21; обе проверки проходят, а все условное выражение дает истинный результат.

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

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

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

Ключевое слово or тоже позволяет проверить несколько условий, но результат общей проверки является истинным в том случае, когда истинно хотя бы одно или оба условия. Ложный результат достигается только в том случае, если оба отдельных условия ложны.

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

(1) >>> age_0 = 22

>>> age_1 = 18

(2)>>> age_0 >= 21 or age_1 >= 21

True

(3)>>> age_0 = 18

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

False

Как и в предыдущем случае, в точке (1) определяются две переменные. Так как условие для age_0 в точке (2) истинно, все выражение также дает истинный результат. Затем значение age_0 уменьшается до 18. При проверке (3) оба условия оказываются ложными, и общий результат всего выражения тоже ложен.

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

Иногда бывает важно проверить, содержит ли список некоторое значение, прежде чем выполнять действие. Например, перед завершением регистрации нового пользователя на сайте можно проверить, существует ли его имя в списке имен действующих пользователей, или в картографическом проекте определить, входит ли передаваемое место в список известных мест на карте.

Чтобы узнать, присутствует ли заданное значение в списке, воспользуйтесь ключевым словом in. Допустим, вы пишете программу для пиццерии. Вы создали список дополнений к пицце, заказанных клиентом, и хотите проверить, входят ли некоторые дополнения в этот список.

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

(1) >>> 'mushrooms' in requested_toppings

True

(2)>>> 'pepperoni' in requested_toppings

False

В точках (1) и (2) ключевое слово in приказывает Python проверить, входят ли значения 'mushrooms' и 'pepperoni' в список requested_toppings. Это весьма полезно, потому что вы можете создать список значений, критичных для вашей программы, а затем легко проверить, присутствует ли проверяемое значение в списке.

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

В других случаях программа должна убедиться в том, что значение не входит в список. Для этого используется ключевое слово not. Для примера рассмотрим список пользователей, которым запрещено писать комментарии на форуме. Прежде чем разрешить пользователю отправку комментария, можно проверить, не был ли пользователь включен в «черный список»:

banned_users.py

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

user = 'marie'

(1) if user not in banned_users:

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

Перейти на страницу:

Все книги серии Библиотека программиста

Похожие книги