Чему будет равна переменная steps после выполнения кода: n = 5; steps = 0; затем цикл while n > 0:; внутри выполняется n -= 2 и steps += 1?
A3
B2
C5
D4
Правильный ответ. Число итераций цикла
while зависит от того, как меняется переменная в условии и через сколько шагов условие станет ложным.Разбор
Значения n по итерациям: 5 → 3 → 1 → -1. Условие n > 0 истинно для 5, 3 и 1, поэтому тело цикла выполнится 3 раза, и steps увеличится трижды. Если бы шаг был n -= 1, итераций было бы 5; если бы условие было n >= 0, итераций было бы 4. Поэтому важно мысленно прокрутить переменную по шагам, а не считать стартовое значение.
Проверь себя · 1/3разбор после ответа
Что будет в списке после кода:
nums = []; затем цикл for i in range(3):; внутри выполняется nums.append(i)?Ещё вопросы по теме «Циклы и условия»
- В цепочке условий сверху стоит проверка `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']`?
- Нужно сегментировать пользователей по `orders_cnt`: 0 → `'new'`, 1–4 → `'low'`, 5+ → `'high'`. Какой порядок условий в цепочке `if`/`elif`/`else` корректный?
- Все вопросы по «Циклы и условия» →