Перейти к основному содержимому
Модуль 1 · Урок 3 из 43/36 в курсе~10 min
Уроки модуля (3/4)

Условные обозначения: if, elif, else

Условия позволяют запускать другой код в зависимости от значение логического выражения. В Python они записываются с помощью if, elif. (сокращение от «иначе, если») и else.

Основная форма

Python
eta = 18
if eta >= 18:
    messaggio = "maggiorenne"
else:
    messaggio = "minorenne"

Уведомление:

  • после условия всегда ставится двоеточие :;
  • блок «внутри» if обозначается отступом (4 пробела);
  • скобки вокруг условия не нужны (хотя они разрешены).

Больше ветвей с elif

Python
voto = 7
if voto >= 9:
    giudizio = "ottimo"
elif voto >= 7:
    giudizio = "buono"
elif voto >= 6:
    giudizio = "sufficiente"
else:
    giudizio = "insufficiente"

Ветви elif оцениваются в том порядке, в котором вы их записываете, и останавливаются на первое, что окажется правдой.

Условное выражение (троичное)

Для простых случаев можно написать всё в одной строке:

Python
eta = 20
messaggio = "maggiorenne" if eta >= 18 else "minorenne"

На английском языке это читается естественно: "maggiorenne if eta >= 18 else минорэнн".

«Истинные»/«ложные» ценности

Условие не обязательно должно быть сравнением: любое значение может использоваться как условие. Они считаются ложными: False, None, 0, "", [], {}. Все остальное правда.

Python
nome = "Ada"
if nome:
    saluto = f"Ciao {nome}!"
else:
    saluto = "Ciao sconosciuto!"

Условные выражения (тройной оператор)

Python поддерживает компактную однострочную конструкцию if-else, которая действует как тернарный оператор, встречающийся в других языках:

Python
result = "Even" if n % 2 == 0 else "Odd"

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

Попробуйте сами

Упражнение#python.m1.l3.e1
Попыток: 0Загрузка…

Учитывая `number = 15`, присвойте `sign` строку "positivo", если число > 0, "ноль", если оно равно 0, и "negativo" в противном случае. Оцените «знак».

Загрузка редактора…
Показать подсказку

Три ветки: > 0, == 0, иначе.

Решение доступно после 3 попыток

Обзор упражнения

Упражнение#python.m1.l3.e2
Попыток: 0Загрузка…

Учитывая `age = 20`, присвойте `category` строку "maggiorenne" или "minorenne", используя троичное выражение (if/else в одной строке).

Загрузка редактора…
Показать подсказку

Синтаксис: value_if_true, если условие, иначе value_if_false.

Решение доступно после 3 попыток

Дополнительная задача

Упражнение#python.m1.l3.e3
Попыток: 0Загрузка…

Write a conditional structure that checks if the variable `x` (initialized to `-5`) is greater than 0, less than 0, or equal to 0. Assign the string `'positive'`, `'negative'`, or `'zero'` to `sign` accordingly. Finally, evaluate `sign`.

Загрузка редактора…
Показать подсказку

Используйте if x > 0:, elif x < 0: и else: для обработки трех случаев.

Решение доступно после 3 попыток