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