Нужно сегментировать пользователей по orders_cnt: 0 → 'new', 1–4 → 'low', 5+ → 'high'. Какой порядок условий в цепочке if/elif/else корректный?
AСначала
if orders_cnt == 0 для 'new', затем elif orders_cnt < 5 для 'low', иначе 'high'BСначала
if orders_cnt < 5 для 'low', затем elif orders_cnt == 0 для 'new', иначе 'high'CСначала
if orders_cnt > 0 для 'low', затем elif orders_cnt >= 5 для 'high', иначе 'new'DСначала
if orders_cnt == 0 для 'new', затем отдельный if orders_cnt < 5 для 'low', иначе 'high'Правильный ответ. Более специфичное условие (0 заказов) проверяйте раньше более общего (
orders_cnt < 5).Разбор
Если начать с orders_cnt < 5, значение 0 попадёт в этот сегмент и ветка для нулевых заказов уже не сработает. Правильный порядок — сначала выделить частный случай orders_cnt == 0, затем проверить диапазон 1–4 через orders_cnt < 5, а всё остальное отдать в else как 5+. Замена elif на отдельный if ломает взаимоисключение веток и тоже даёт неверные сегменты.
Проверь себя · 1/3разбор после ответа
Есть словарь выручки по странам
revenue_by_country = {'RU': 100, 'KZ': 50}. Как корректно посчитать сумму значений через цикл for?Ещё вопросы по теме «Циклы и условия»
- В цепочке условий сверху стоит проверка `amount > 100`, а ниже — `amount > 200` и заключительная ветка. Для значения 250 нужно отдельное поведение, отличающееся от значений в диапазоне от 100 до 200. Что не так с таким порядком проверок?
- Есть словарь выручки по странам `revenue_by_country = {'RU': 100, 'KZ': 50}`. Как корректно посчитать сумму значений через цикл `for`?
- Нужно найти индекс первого отрицательного значения в списке `amounts = [10, 0, -5, 7]`. Выполняется `idx = None`, затем цикл `for i, a in enumerate(amounts):`, и при `if a < 0:` выполняются `idx = i` и `break`. Чему будет равно `idx` после выполнения?
- Есть списки пользователей и трат: `users = ['u1', 'u2']` и `spends = [100, 200]`. После `d = {}`, в цикле `for u, s in zip(users, spends):` выполняется `d[u] = s`. Чему равно `d['u2']`?
- Какой фрагмент `while` вероятнее всего приведёт к бесконечному циклу, если список `events` непустой?
- Все вопросы по «Циклы и условия» →