Условный оператор IF

Проверка, что переменная не пуста

circle-info

Чтобы убедиться, что переменная содержит значение (то есть она не None и не является пустой строкой), нужно проверить, что она НЕ равно пустой строке.

Правильная формула:

"#{value}" != ""

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

IF()

chevron-rightОписаниеhashtag

if(condition, value_if_true, value_if_false)

condition - триггер

value_if_true - значение, если True

value_if_false - значение, если False

circle-exclamation
chevron-rightПримерhashtag

Давайте разберём несколько примеров:

SILENCEDAYS_2 = if(SILENCEDAYS_2 == 1, 1, 0). В этом случае, если переменная SILENCEDAYS_2 существует и равна 1, её значение остаётся 1. Если она не существует или имеет другое значение, ей будет присвоено 0. Это полезно перед выполнением математических операций, чтобы защититься от пустых или неопределённых значений переменных.

ClientName = if(ClientName == 1, P1, if(ClientName == 2, P2, if(ClientName == 3, P3, 7))), где P1, P2, P3 — переменные.

Если ClientName равно 1, то будет присвоено значение P1; если ClientName равно 2, то будет присвоено значение P2; если ClientName равно 3, то будет присвоено значение P3; в противном случае будет присвоено значение 7.

Как видите, можно использовать вложенные конструкции if. Это полезно, когда вы хотите научить бота рассчитывать сумму заказа, где цена за единицу зависит от количества:

Order_Amount = round(if(Quantity >=100, if(Quantity >=200, if(Quantity >=300, if(Quantity >=400, if(Quantity >=500, if(Quantity >=1000, if(Quantity >=2000, if(Quantity >=3000, if(Quantity >=5000, 25*Quantity, 30*Quantity), 35*Quantity), 40*Quantity), 45*Quantity), 50*Quantity), 55*Quantity), 60*Quantity), 65*Quantity), "Не могу вычислить... Где-то в вашем заказе произошла ошибка. Пожалуйста, начните сначала.") * 100) / 100

chevron-rightПример кода для копированияhashtag
SILENCEDAYS_2 = if(SILENCE_DAYS_2 == 1, 1, 0)
ClientName = if(ClientName == 1, Р1, if(ClientName == 2, Р2, if(ClientName == 3, Р3, 7)))
Order_Amount = round(if(Quantity >=100, if(Quantity >=200, if(Quantity >=300, if(Quantity >=400, if(Quantity >=500, if(Quantity >=1000, if(Quantity >=2000, if(Quantity >=3000, if(Quantity >=5000, 25*Quantity, 30*Quantity), 35*Quantity), 40*Quantity), 45*Quantity), 50*Количество), 55*Quantity), 60*Quantity), 65*Quantity), "Не могу вычислить... Где-то в вашем заказе произошла ошибка. Пожалуйста, начните сначала.")  * 100) / 100

Последнее обновление