🐍 Python  ·  20 вопросов  ·  ~45 мин  ·  ⏱ Таймер 45:00  ·  Лёгкий  ·  👥 1 прошёл

Циклы for и while

Проверяет границы диапазонов, условия остановки, накопление результата и вложенные циклы. Задания связывают цикл for с темами «Цикл while», «Остановка цикла» и «Вложенные циклы»: придётся читать код, искать причину сбоя и выбирать решение по его поведению. Все задания рассчитаны на CPython 3.12; отличия других реализаций или версий учитываются только там, где это прямо оговорено.

Отвечено: 0 из 20
--:--
0%
💡 Инструкция: Версия: CPython 3.12. Выберите один ответ из четырёх. На 20 вопросов отведено не меньше 40 минут; код лучше читать построчно. После завершения вы увидите общий процент, четыре тематические шкалы и объяснение каждого ответа.
Вопрос 1 из 20
Какие числа напечатает цикл?
Python
for i in range(2, 9, 3):
    print(i, end=" ")
Вопрос 2 из 20
Сколько раз выполнится тело?
Python
x = 20
count = 0
while x > 2:
    x //= 2
    count += 1
print(count, x)
Вопрос 3 из 20
Что выведет цикл с continue и break?
Python
result = []
for x in range(1, 8):
    if x % 2 == 0:
        continue
    if x > 5:
        break
    result.append(x)
print(result)
Вопрос 4 из 20
Сколько пар будет добавлено?
Python
pairs = []
for i in range(4):
    for j in range(i):
        pairs.append((i, j))
print(len(pairs))
Вопрос 5 из 20
Что выведет перебор списка?
Python
items = [10, 20, 30]
for index, value in enumerate(items, start=1):
    print(index * value, end=" ")
Вопрос 6 из 20
Почему цикл завершится и что напечатает?
Python
n = 13
steps = 0
while n != 1:
    n = n // 2 if n % 2 == 0 else n - 1
    steps += 1
print(steps, n)
Вопрос 7 из 20
Проследите, встретится ли `break` в показанном цикле. Что напечатает его блок `else`?
Python
for x in [2, 4, 6]:
    if x % 2:
        print("нечётное")
        break
else:
    print("все чётные")
Вопрос 8 из 20
Чему равна сумма?
Python
total = 0
for i in range(1, 5):
    for j in range(i, 5):
        total += 1
print(total)
Вопрос 9 из 20
В проекте нужно изменить каждый элемент списка на месте и сохранить порядок. Какое проектное решение для цикла наиболее прямое?
Вопрос 10 из 20
Что произойдёт?
Python
x = 3
while x:
    x -= 1
else:
    print("готово", x)
Вопрос 11 из 20
Как безопаснее организовать поиск первого подходящего элемента без дополнительного флага?
Вопрос 12 из 20
Во вложенных циклах `break` срабатывает при `i == j`. Какие пары успеет напечатать фрагмент?
Python
for i in range(3):
    for j in range(3):
        if i == j:
            break
    print(i, j)
Вопрос 13 из 20
Какой порядок уникальных значений даст обратный обход?
Python
values = [3, 1, 4, 1, 5]
result = []
for value in reversed(values):
    if value not in result:
        result.append(value)
print(result)
Вопрос 14 из 20
Чему равен count?
Python
n = 1
count = 0
while n < 20:
    n = n * 2 + 1
    count += 1
print(count, n)
Вопрос 15 из 20
В цикле чтения команд нужно завершиться при `quit`, пропустить пустые строки и обработать остальные. Каков разумный порядок проверок?
Вопрос 16 из 20
Цикл пропускает число `2` через `continue`. Какую точную сумму он накопит после чтения всех остальных значений?
Python
total = 0
for x in range(5):
    if x == 2:
        continue
    total += x
print(total)
Вопрос 17 из 20
Два списка нужно обходить парами только до конца более короткого, не управляя индексами вручную. Какой цикл выражает это прямо?
Вопрос 18 из 20
Какой результат накопится?
Python
numbers = [2, -1, 0, 3]
product = 1
for n in numbers:
    if n <= 0:
        continue
    product *= n
print(product)
Вопрос 19 из 20
В условии `while` используется переменная, которая нигде не меняется. Какую ошибку проектирования цикла это выдаёт?
Вопрос 20 из 20
Сколько строк напечатает код?
Python
for i in range(1, 5):
    for j in range(1, i):
        if i + j > 5:
            break
        print(i, j)

Ответьте на все 20 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe)

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу