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