НОЧУ ДПО "Национальный открытый университет "ИНТУИТ"
Опубликован: 24.01.2021 | Доступ: свободный | Студентов: 1229 / 21 | Длительность: 03:57:00
Лекция 11:

Оператор выбора if

< Лекция 1 || Лекция 11: 123

Смотреть на 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()

Результаты:


В простых ситуациях настоящие "питонисты" скобок не ставят и каждому оператору отводят отдельную строку.

< Лекция 1 || Лекция 11: 123
Елена Лаптева
Елена Лаптева

Думаю. что не смогу его закончить. Хотелось предупредить других - не тратьте зря время, ищите другой курс.

Михаил Сидоров
Михаил Сидоров

Если S - последовательность, то срез задается как S(i : j) и содержит j - i элементов,

а в примере используютс другие скобки - 

NL[1:3] = ["решили", "не", "искать"]

или это не срез, тогда, что это?