Здравствуйте! В этой серии видео мы с вами познакомимся с такой конструкцией, как условие. И начнем мы с того, что разберемся, что мы подразумеваем под условиями и когда нам нужно их использовать. В качестве примера давайте разберем такие повседневные действия, например, мы заходим в комнату и включаем свет; или мы идем на балкон и поливаем цветок, который стоит на этом балконе; мы идем в магазин и покупаем, например, яйца; или мы выходим на улицу и берем с собой зонтик. Что общего во всех этих действиях? В реальной жизни мы чаще всего выполняем их, когда нам это нужно, по необходимости, а точнее говоря, когда выполняются какие-то определенные условия. Что это значит? Например, мы заходим в комнату, и прежде всего проверяем — за окном темно или светло. И только если за окном стало темно, мы совершаем действие "включаем свет". То есть мы включаем свет не всегда, а только если выполнилось условие, что за окном стало темно, то есть действие совершается только при выполнении определенного условия. Точно так же и со всеми остальными примерами. Прежде чем полить цветок, мы подходим к горшку и проверяем: сухая там земля или влажная. И только когда выполняется условие, что земля в горшке с цветком сухая, мы совершаем действие "полить цветок". Соответственно, если земля влажная, нам поливать цветок не надо, и это действие выполняться не будет. Захотели приготовить яичницу, зашли на кухню, подошли к холодильнику и посмотрели, есть ли там яйца. И только если в холодильнике нет яиц, мы идем в магазин и покупаем эти яйца. А если яйца есть, и мы уже можем приготовить яичницу, нам не надо идти в магазин, мы голодные, да и если мы накупим слишком много яиц, они просто испортятся. Например, прежде чем выйти на улицу, мы посмотрим, идет там дождь или нет, и если на улице идет дождь, мы совершим действие "взять с собой зонтик". Кто-то берет и когда нет дождя, но рассмотрим пример человека, который не очень любит задолго планировать. Соответственно, если на улице дождя нет, этот человек не будет совершать действие "взять зонтик". Все эти примеры — это примеры работы с условиями, у них у всех есть общая черта: у нас есть некое условие, которое может выполниться или не выполниться, и у нас есть некоторое действие, которое будет совершаться, только когда это условие выполняется. Для того чтобы было понятнее, как и в каком порядке выполняются действия при работе с условиями, мы воспользуемся таким графическим способом оформления, как блок-схема. Все наши инструкции будут выглядеть в виде блоков определенной формы, и переход от одной инструкции к другой будет показываться как стрелочка между этими блоками. Посмотрим на примере. Например, так выглядят блок-схемы для таких программ, которые вы уже научились писать в более ранних лекциях. У нас есть просто некая инструкция, которая нарисована в виде прямоугольничка, и после выполнения одной инструкции мы сразу же переходим к другой, к следующему прямоугольничку, и вы можете увидеть, что между этими двумя прямоугольничками находится стрелочка. То есть, например, мы ввели какое-то число, потом перешли к следующей инструкции — нашли квадрат этого числа; перешли к следующей инструкции — напечатали квадрат этого числа. Просто последовательно идем, после одной инструкции всегда выполняется следующая, здесь нет никаких вариаций для отклонения, просто мы всегда двигаемся по прямой и выполняем одну команду за другой. Все меняется, когда у нас появляются условия. Вот у нас есть условие, и оно зарисовывается как такой ромбик, то есть обычная инструкция у нас — это прямоугольнички, а условия мы будем рисовать как вот такие вот ромбики. И каждое условие у нас может либо выполняться, либо не выполняться, то есть от условия у нас идут две стрелочки, два варианта развития событий. И у нас есть действие, которое выполняется, только когда выполняется условие. Это действие нарисовано в виде прямоугольничка, в котором написана инструкция. Таким образом, когда условие выполняется, мы двигаемся по той стрелочке, которая ведет к блоку "Инструкции", а когда условие не выполняется, мы двигаемся по той стрелочке, которая выходит сбоку нашего ромбика, не выполняем эти инструкции, игнорируем их, и просто идем выполнять нашу программу дальше. Теперь давайте рассмотрим, как применяются блок-схемы на тех примерах, которые мы с вами разобрали в самом начале. Итак, вот перед нами примеры, которые мы перед этим разобрали: пример про включение света, про цветок в горшке, про поход в магазин за яйцами, и про дождик и зонтик. В каждом этом примере есть некое условие, которое выполняется или нет, и такие условия мы будем записывать в нашей блок-схеме в ромбик, и также у нас есть действия, инструкции, которые совершаются, только когда условие выполняется. И такие инструкции мы будем рисовать в прямоугольничек, к которому ведет одна из стрелочек от условия. То есть: вот так будет выглядеть наш пример про включение света. Сначала мы выполняем инструкцию "войти в комнату", потом по стрелочке мы переходим к условию, это условие "если за окном темно", то есть мы задаем вопрос: "За окном темно?" У нас есть два варианта ответа, то есть: условие выполняется — это ответ "да", и условие не выполняется — это ответ "нет". То есть если за окном темно, мы проходим по стрелочке, на которой написано "да", выполняем инструкцию "включить свет", и потом идем по своим делам дальше. А если условие не выполняется, за окном светло, ответ на наш вопрос "нет", мы проходим по стрелочке, на которой написано "нет" — и игнорируем действие "включить свет", и сразу же выполняем действие "пройти в комнату дальше". Точно так же будет в примере с цветочным горшком. Мы подошли к цветочному горшку, и переходим к следующей инструкции, задаем вопрос: "В горшке сухая земля?" (это соответствует условию "если в горшке сухая земля"). Опять же, у нас два варианта развития событий: либо условие выполняется, мы отвечаем на вопрос "да", и поливаем цветочек, или условие не выполняется, мы ответили "нет", мы игнорируем инструкцию "полить цветок" — и сразу же переходим к другому цветочному горшку. Теперь пример про готовку яичницы. Вот мы выполнили инструкцию "зайти на кухню и открыть холодильник", и мы переходим к условию, мы задаем вопрос: "В холодильнике пусто? В холодильнике нет яиц?" Если ответ "да", мы по стрелочке "да" переходим к действию "пойти в магазин", и потом мы возвращаемся, достаем нужные продукты, готовим яичницу. А если условие не выполняется, яйца в холодильнике есть, мы переходим по стрелочке "нет", игнорируем действие "пойти в магазин" — и сразу же достаем нужные продукты и готовим яичницу. Наконец, точно такой же пример с дождем и зонтиком. Выполнили инструкцию "собираемся на улицу", по стрелочке переходим к нашему условию, спрашиваем: "На улице идет дождь?" Если выполняется условие, что дождь идет, и ответ "да", взяли зонтик, если условие не выполняется, и дождя нет, мы переходим по стрелочке, на которой написано "нет", не берем зонтик, и сразу же выходим на улицу. Таким образом, если рассматривать нашу программу как следование по некоему маршруту, то раньше мы с вами писали программы, которые ходят по прямой только и никуда не отклоняются, а теперь у нас появляются такие своеобразные развилочки: мы можем пойти в одну сторону, мы можем пойти в другую сторону, но в конце концов наши дороги все равно встретятся. Теперь давайте разберемся, как же эти условия устроены в языке программирования Python.