Неужели не нашлось русских специалистов, чтобы записать курс по пайтону ? Да, можно включить переводчик и слушать с переводом, но это что? Это кто-то считает хорошим и понятным курсом для начинающих? |
Оператор выбора if
Смотреть на youtube
Оператор if позволяет организовать альтернативный выбор. Синтаксис оператора выдержан в минималистском стиле:
if <выражение>: <операторы> else: <операторы>
Стиль Python предполагает, что заголовок оператора if, заканчивающийся двоеточием, находится на отдельной строке и не требует заключения логического выражения в скобки. Составные операторы if-ветви и else-ветви также не заключаются в скобки. В Python последовательность операторов с одинаковым отступом воспринимается как один составной оператор. Изменение отступа означает переход на другой уровень вложенности. Поскольку ключевые слова if и else располагаются с одинаковым отступом, то конец операторов if-ветви легко распознается. Нарушение отступов приводит к синтаксическим ошибкам.
Рассмотрим пример записи оператора if в стиле, классическом для Python:
def test1(): #классический стиль #каждый оператор на отдельной строке #нет скобок a = b = 0 answer = input("Ваше слово - да или нет\n ") if answer == "да": a = 10 b = 100 else: a = -10 b = -100 print ("answer = ", answer ) print ("a = ", a) print ("b = ", b) test1()
Результаты работы:
Синтаксис допускает нарушение стиля. Логическое выражение может заключаться в скобки. Для сложных логических выражений это просто необходимо.
Несколько операторов могут появляться на одной строке и тогда они разделяются, как обычно, символом точка с запятой. Вот соответствующий пример:
def test2(): #нарушение классического стиля #несколько операторов на строке #есть скобки a = b = 0 answer = input("Ваше слово - да или нет\n ") if (answer == "да" or answer == "yes" or answer == 1): a = 10; b = 100 else: a = -10; b = -100 print ("answer = ", answer ) print ("a = ", a) print ("b = ", b) test2()
Результаты:
В простых ситуациях настоящие "питонисты" скобок не ставят и каждому оператору отводят отдельную строку.