В цепочке if/elif/else условия проверяются сверху вниз. Если сначала стоит if amount > 100, а затем elif amount > 200, то при amount = 250 какая ветка выполнится?
AВетка
ifBВетка
elifCВетка
elseDБудет ошибка
Правильный ответ. Срабатывает первая истинная проверка; если
if прошёл, то elif и else не выполняются.Разбор
При amount = 250 условие amount > 100 истинно, поэтому выполняется ветка if, а до elif amount > 200 интерпретатор уже не дойдёт. Если нужно, чтобы значения больше 200 попадали в отдельный сегмент, проверку amount > 200 ставят выше, чем amount > 100.
Проверь себя · 1/3разбор после ответа
Чему равен
cnt после кода: cnt = 0; for ch in 'A12B3':; если ch.isdigit() истинно, то cnt += 1?Ещё вопросы по теме «Циклы и условия»
- Есть словарь выручки по странам `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']`?
- Нужно сегментировать пользователей по `orders_cnt`: 0 → `'new'`, 1–4 → `'low'`, 5+ → `'high'`. Какой порядок условий в цепочке `if`/`elif`/`else` корректный?
- Какой фрагмент `while` вероятнее всего приведёт к бесконечному циклу (если `events` — непустой список)?
- Все вопросы по «Циклы и условия» →