Условный оператор: if
Для проверки условия "if":
Чтобы проверить не пустое ли значение переменной (не равно ли оно None или "") используйте следующую формулу: "#{value}" == "" где value название переменной Например, это может понадобиться при получении данных со стороннего ресурса через запросы.
IF()
if(condition, value_if_true, value_if_false)
condition - условие
value_if_true - значение, если истина
value_if_false - значение, если ложь
Максимальная длина выражения: 2000 символов
Давайте разберем несколько примеров:
ДНИМОЛЧАНИЯ_2 = if(ДНИМОЛЧАНИЯ_2 == 1, 1, 0). В данном случае, если существует переменная ДНИМОЛЧАНИЯ_2 со значением 1, то ее значение так и останется 1, а если она не существует, то будет 0. Удобно использовать перед математическими операциями, чтобы подстраховаться от пустых значений переменных.
ИмяКлиента = if(ИмяКлиента == 1, Р1, if(ИмяКлиента == 2, Р2, if(ИмяКлиента == 3, Р3, 7))), где Р1, Р2, Р3 - переменные. Тогда если ИмяКлиента равно 1, то будет присвоено значение P1, если ИмяКлиента равно 2, то будет присвоено значение P2, если ИмяКлиента равно 3, то будет присвоено значение P3, иначе будет присвоено значение 7.
Как видите, можно использовать вложенные if конструкции. Это пригодится, если хотите научить бота подсчитывать сумму заказа, когда стоимость единицы товара зависит от его количества: Сумма_Заказа = round(if(Количество >=100, if(Количество >=200, if(Количество >=300, if(Количество >=400, if(Количество >=500, if(Количество >=1000, if(Количество >=2000, if(Количество >=3000, if(Количество >=5000, 25*Количество, 30*Количество), 35*Количество), 40*Количество), 45*Количество), 50*Количество), 55*Количество), 60*Количество), 65*Количество), "Не могу посчитать... Вы ошиблись где-то при оформлении заказа. Попробуйте еще раз с самого начала.") * 100) / 100

Тестируем:

ДНИМОЛЧАНИЯ_2 = if(ДНИМОЛЧАНИЯ_2 == 1, 1, 0)
ИмяКлиента = if(ИмяКлиента == 1, Р1, if(ИмяКлиента == 2, Р2, if(ИмяКлиента == 3, Р3, 7)))
Сумма_Заказа = round(if(Количество >=100, if(Количество >=200, if(Количество >=300, if(Количество >=400, if(Количество >=500, if(Количество >=1000, if(Количество >=2000, if(Количество >=3000, if(Количество >=5000, 25*Количество, 30*Количество), 35*Количество), 40*Количество), 45*Количество), 50*Количество), 55*Количество), 60*Количество), 65*Количество), "Не могу посчитать... Вы ошиблись где-то при оформлении заказа. Попробуйте еще раз с самого начала.") * 100) / 100
Last updated
Was this helpful?