Умовний оператор IF

Перевірка, чи змінна не порожня

circle-info

Щоб переконатися, що змінна містить значення (тобто вона не None і не є порожнім рядком), потрібно перевірити, що вона НЕ дорівнює порожньому рядку.

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

"#{value}" != ""

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

IF()

chevron-rightОписhashtag

if(condition, value_if_true, value_if_false)

condition - trigger

value_if_true - value if True

value_if_false - value if 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

Last updated