Нужно сегментировать пользователей по orders_cnt: 0 → 'new', 1–4 → 'low', 5+ → 'high'. Какой порядок условий в цепочке if/elif/else корректный?

AСначала if orders_cnt == 0, затем elif orders_cnt < 5, иначе else
BСначала if orders_cnt < 5, затем elif orders_cnt == 0, иначе else
CСначала if orders_cnt > 0, затем elif orders_cnt >= 5, иначе else
DСначала if orders_cnt == 0, затем ещё один if orders_cnt < 5, иначе else
Правильный ответ. Более специфичное условие (0 заказов) проверяйте раньше более общего (orders_cnt < 5).

Разбор

Если начать с orders_cnt < 5, то значение 0 попадёт в этот сегмент и ветка для 0 заказов уже не сработает. Правильно: сначала выделить частный случай orders_cnt == 0, затем проверить диапазон 1–4 через orders_cnt < 5, а всё остальное отдать в else как 5+.

Проверь себя · 1/3разбор после ответа
Есть списки пользователей и трат: users = ['u1', 'u2'] и spends = [100, 200]. После d = {}, в цикле for u, s in zip(users, spends): выполняется d[u] = s. Чему равно d['u2']?
Тренировать Python в Telegram

Ещё вопросы по теме «Циклы и условия»