Для случая, когда в программе возникает необходимость ветвление т.е. когда при выполнении какого-то условия программа продолжается по одному сценарию, а при невыполнении этого условия программа продолжается по другому сценарию, существует условная инструкция if.
Составные инструкции (инструкции, содержащие в себе другие инструкции) завершаются двоеточием, со следующей строки с отступом в четыре пробела (или отступом иной длины главное, чтобы он был) идет блок кода инструкции, блок кода может быть расположен на нескольких строчках, но каждая строчка блок кода инструкции должна начинаться с отступа одинаковой длины, все строчки блока кода имеющие одинаковый отступ принадлежат одной инструкции. Если отступа нет или отступ другой длины интерпретатор посчитает, что блок кода инструкции закончился.
Синтаксис:
Полная запись инструкции if.
if условие:
. . . .блок кода if
elif условие elif1:
. . . .блок кода elif1
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
elif условие elif N:
. . . .блок кода elif N
else:
. . . .блок кода else
Условие, условие elif1 - условие elif N – любое выражение возвращающее булево значение - или True, или False, в том числе это могут быть сами True или False.
elif - выражение проверки условия комбинирующее else+if (иначе если). В операторе if их может быть много, а может быть не одной, это выражение является необязательной частью инструкции if.
еlse – иначе, в случае если условие if и все условия elif – ложны (False) выполняется блок кода else. В инструкции if инструкции else может быть или одна или может быть не одной, это выражение является необязательной частью инструкции if.
. . . . – так я обозначил четыре пробела, четырьмя пробелами обозначаются вложенные в инструкции блоки кода.
Как работает инструкция if. Когда программа добирается до инструкции if происходит проверка истинности условия, в случае, когда условие истинно (True) выполняется блок кода if. После выполнения блока кода if программа продолжается со следующего после инструкции if фрагмента программного кода. В случае, когда условие ложно (False), в зависимости от наличия или отсутствия выражений проверки elif и блока else, программа продолжается следующим образом:
- если есть elif и else, проверяется на истинность условие elif, если условие истинно(True) выполняется блок кода elif и программа продолжается со следующего после инструкции if фрагмента программного кода, если ложно (False) передается следующему elif (если следующий elif есть) и процедура проверки истинности повторяется, так продолжается до тех пор пока, не кончаться все elif если последний elif ложен (False), выполнятся блок кода else и программа продолжается со следующего после инструкции if фрагмента программного кода.
- если есть elif и нет else, происходит все то же самое, что и предыдущем пункте, но если последний elif ложен, то программа продолжается со следующего после инструкции if фрагмента программного кода.
- если нет elif, но есть else. Выполняется блок кода else и программа продолжается со следующего после инструкции if фрагмента программного кода.
Пример кода полной записи инструкции if.
Переменной х присваивается значение введенное с клавиатуры, так как функция input( ) преобразует полученное значение в строку (str), с помощью функции int( ) полученное значение преобразуем в целое число (int), вводим число 7. Дальше следует проверка истинности инструкцией if, так выражение ложно (False), то в дело вступает первый elif и производится проверка истинности, так как условие, прописанное в первом elif выполняется, то есть получаем истину (True) поэтому выполняется блок кода первого elif. Функция print( ) выводит ответ: «введенное число меньше 8», после этого, в нашем случае программа заканчивается, в настоящей программе начинается выполнения следующего за инструкцией if фрагмента кода.
Пример кода самой короткой версии инструкции if (нет ни elif ни else)
Здесь надеюсь все понятно.
Пока это все.
По ссылкам можно почитать мои конспекты:
Книги и курсы по Python
Книги и курсы по Python год спустя.
Встроенные функции (Built-in)
Методы словаря (Dict methods)
Методы списков (List methods)
Строковые методы (String Methods)
Библиотека os
Спецификаторы
Итерируемый тип данных
Инструкции continue, break и pass
Цикл for … in
Цикл while
Условная инструкция if
Индексация
Переменные
Встроенные функции print() и input()
Оператор присваивания
Основные типы данных
Коротко о языке