Module (8%)
Section (40%)

Условия и условное исполнение

Вы уже знаете, как задавать вопросы Python, но все ещё не знаете, как разумно использовать ответы. У вас должен быть механизм, который позволит вам делать что-то, если условие выполняется, и не делать этого, если оно не выполняется.

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

Для принятия таких решений Python предлагает специальную инструкцию. Из-за своей природы и применения она называется условной инструкцией.

Есть несколько вариантов. Мы начнём с самого простого, постепенно увеличивая сложность.

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

if true_or_not: do_this_if_true

Этот условный оператор состоит из следующих строго необходимых элементов только в этом и этом порядке:

  • ключевое словоif;
  • один или несколько пробелов;
  • выражение (вопрос или ответ), значение которого будет интерпретироваться исключительно в пределах True (когда его значение не равно нулю) и False (когда оно равно нулю);
  • двоеточие, за которым следует новая строка;
  • инструкция или набор инструкций с отступом (хотя бы одна инструкция обязательна); отступ может быть получен двумя способами - путем вставки определенного количества пробелов (рекомендуется использовать четыре пробела для отступа) или с помощью символа табуляции; примечание: если в части с отступом содержится более одной инструкции, отступ должен быть одинаковым во всех строках; хотя это может выглядеть одинаково, если вы используете табуляции, смешанные с пробелами, важно, чтобы все отступы были одинаковыми - Python 3 не позволяет смешивать пробелы и табуляции для отступа.


Как работает это выражение?

  • если выражение true_or_not представляет истину (т.е. его значение не равно нулю), будут выполнены выражения с отступом;
  • если выражение true_or_not не соответствует истине (т.е. его значение равно нулю), выражения с отступом будут опущены (игнорируется), и следующая выполняемая инструкция будет следующей за исходным уровнем отступа.

В реальной жизни мы часто выражаем желание:

если будет хорошая погода, мы пойдем гулять

потом мы пообедаем


Как видите, обед - это не условное занятие и не зависит от погоды.

Зная, какие условия влияют на наше поведение, и предполагая, что у нас есть функции без параметров go_for_a_walk() и have_lunch(), мы можем написать следующий фрагмент:

if the_weather_is_good: go_for_a_walk() have_lunch()