Строка (1) достаточно четко читается: если пользователь не входит в «черный список» banned_users, то Python возвращает True и выполняет строку с отступом. Пользователь 'marie' в этот список не входит, поэтому программа выводит соответствующее сообщение:

Marie, you can post a response if you wish.

<p>Логические выражения</p>

В процессе изучения программирования вы рано или поздно услышите термин «логическое выражение». По сути это всего лишь другое название для проверки условия. Результат логического выражения равен True или False, как и результат условного выражения после его вычисления.

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

game_active = True

can_edit = False

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

Упражнения

5-1. Проверка условий: напишите последовательность условий. Выведите описание каждой проверки и ваш прогноз относительно ее результата. Код должен выглядеть примерно так:

car = 'subaru'

print("Is car == 'subaru'? I predict True.")

print(car == 'subaru')

print("\nIs car == 'audi'? I predict False.")

print(car == 'audi')

• Внимательно просмотрите результаты. Убедитесь в том, что вы понимаете, почему результат каждой строки равен True или False.

• Создайте как минимум 10 условий. Не менее 5 должны давать результат True, а не ­менее 5 других — результат False.

5-2. Больше условий: количество условий не ограничивается 10. Попробуйте написать другие условия и включить их в conditional_tests.py. Программа должна выдавать по крайней мере один истинный и один ложный результат для следующих видов проверок.

• Проверка равенства и неравенства строк.

• Проверки с использованием функции lower().

• Числовые проверки равенства и неравенства, условий «больше», «меньше», «больше или равно», «меньше или равно».

• Проверки с ключевым словом and и or.

• Проверка вхождения элемента в список.

• Проверка отсутствия элемента в списке.

<p>Команды if</p>

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

<p>Простые команды if</p>

Простейшая форма команды if состоит из одного условия и одного действия:

if условие:

. .действие

В первой строке размещается условие, а в блоке с отступом — практически ­любое действие. Если условие истинно, то Python выполняет код в блоке после команды if, а если ложно, этот код игнорируется.

Допустим, имеется переменная, представляющая возраст человека. Следующий код проверяет, что этот возраст достаточен для голосования:

voting.py

age = 19

(1) if age >= 18:

(2) . .print("You are old enough to vote!")

В точке (1) Python проверяет, что значение переменной age больше или равно 18. В таком случае выполняется команда print (2) в строке с отступом:

You are old enough to vote!

Отступы в командах if играют ту же роль, что и в циклах for. Если условие истинно, то все строки с отступом после команды if выполняются, а если ложно — весь блок с отступом игнорируется.

Блок команды if может содержать сколько угодно строк. Добавим еще одну строку для вывода дополнительного сообщения в том случае, если возраст достаточен для голосования:

age = 19

if age >= 18:

print("You are old enough to vote!")

. .print("Have you registered to vote yet?")

Условие выполняется, а обе команды print снабжены отступом, поэтому выводятся оба сообщения:

You are old enough to vote!

Have you registered to vote yet?

Если значение age меньше 18, программа ничего не выводит.

<p>Команды if-else</p>

Часто в программе необходимо выполнить одно действие в том случае, если условие истинно, и другое действие, если оно ложно. С синтаксисом if-else это возможно. Блок if-else в целом похож на команду if, но секция else определяет действие или набор действий, выполняемых при неудачной проверке.

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

age = 17

(1) if age >= 18:

print("You are old enough to vote!")

print("Have you registered to vote yet?")

(2)else:

. .print("Sorry, you are too young to vote.")

. .print("Please register to vote as soon as you turn 18!")

Если условие (1) истинно, то выполняется первый блок с командами print. Если же условие ложно, выполняется блок else в точке (2). Так как значение age на этот раз меньше 18, условие оказывается ложным, и выполняется код в блоке else:

Sorry, you are too young to vote.

Please register to vote as soon as you turn 18!

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

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

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