Умовний оператор IF
Перевірка, чи змінна не порожня
Щоб переконатися, що змінна містить значення (тобто вона не None і не є порожнім рядком), потрібно перевірити, що вона НЕ дорівнює порожньому рядку.
Правильна формула:
"#{value}" != ""
Це важливо для перевірки даних, наприклад, щоб переконатися, що відповідь була отримана від зовнішнього API-запиту, перш ніж продовжувати.
IF()
Опис
if(condition, value_if_true, value_if_false)
condition - trigger
value_if_true - value if True
value_if_false - value if False
Максимальна довжина виразу: 2000 символів
Приклад
Розгляньмо кілька прикладів:
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



Приклад коду для копіювання
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) / 100Last updated