Цикл for

Тренажер по Python для пользователей с начальным уровнем подготовки.

Тренажер по Python

Цикл `for` — один из фундаментальных инструментов в Python. Он позволяет многократно выполнять один и тот же блок кода для каждого элемента в последовательности. Это может быть список, строка, диапазон чисел или любой другой итерируемый объект. В этом тренажере мы пройдем путь от самых основ синтаксиса до более сложных конструкций. Вы научитесь перебирать различные типы данных, использовать функцию `range()`, управлять ходом цикла с помощью `break` и `continue`, а также работать с вложенными циклами. Задания построены по принципу "от простого к сложному": вам предстоит заполнять пропуски в коде, находить и исправлять ошибки, собирать работающие программы из фрагментов и предсказывать результат их выполнения.

Список тем

Основы цикла: перебор списка

id: 39983_task_for_1

Завершите код, чтобы он последовательно вывел на экран каждый фрукт из списка `fruits`. Вам нужно вставить ключевые слова, которые определяют синтаксис цикла `for`.

Заполните пропуски
fruits = ["Яблоко", "Банан", "Апельсин"]

input1S element input2S fruits:
    print(element)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Перебор символов в строке

id: 39983_task_for_2

Цикл `for` может перебирать не только списки, но и символы в строке. Внимательно посмотрите на код и выберите вариант, который точно соответствует тому, что будет выведено на экран.

Выберите правильный вариант ответа
for char in "Python":
    print(char)
Сообщения
Проверить
Показать подсказку

Ошибка в функции range()

id: 39983_task_for_3

Функция `range()` очень часто используется в циклах `for`, но в этом коде в её вызове допущена синтаксическая ошибка. Найдите строку с ошибкой и исправьте её, чтобы цикл заработал.

Найдите ошибку и исправьте
# Этот цикл должен вывести числа от 1 до 4 включительно
for i in range(1: 5):
    print(i)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Результат работы range()

id: 39983_task_for_4

Проанализируйте цикл, использующий `range()`. Какое последнее число выведет этот код? Введите только одно число в поле ответа.

Что должно получиться?
for number in range(5):
    print(number)
Сообщения
Проверить
Показать подсказку

Сборка range() с шагом

id: 39983_task_for_5

Соберите вызов функции `range()` так, чтобы цикл вывел все четные числа от 0 до 8 включительно. Используйте элементы из "банка токенов". Один из токенов лишний.

Нужно правильно расставить в пропуски предложенные варианты
for i in input1S(0, input2S, input3S):
    print(i)
10
range
2
9
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Соберите код для подсчета суммы

id: 39983_task_for_6

Перед вами перемешанные строки кода. Соберите из них работающую программу, которая вычисляет сумму всех чисел в списке `numbers`. Одна из строк является лишней и не должна использоваться.

Перетяните в правильном порядке строки из одного блока в другой
total_sum += num
numbers = [10, 20, 5, 15]
print(total_sum)
total_sum = 0
for num in numbers:
print(num)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Вложенные циклы для создания таблицы

id: 39983_task_for_7

Расставьте строки кода в правильном порядке, чтобы создать программу, которая выводит небольшую таблицу умножения (2x2). Обращайте внимание на отступы, они уже расставлены правильно и являются подсказкой.

Расставьте строки в правильном порядке
print(f"{i} * {j} = {i*j}")
for i in range(1, 3):
    for j in range(1, 3):
    print("---")
Сообщения
Проверить
Показать подсказку

Оператор break: досрочный выход

id: 39983_task_for_8

Оператор `break` немедленно прекращает выполнение цикла. Проанализируйте код и определите, что будет выведено на экран. Цикл ищет первое число больше 10.

Выберите правильный вариант ответа
numbers = [2, 5, 8, 13, 21]

for num in numbers:
    if num > 10:
        print(num)
        break
Сообщения
Проверить
Показать подсказку

Оператор continue: пропуск итерации

id: 39983_task_for_9

Оператор `continue` пропускает оставшуюся часть кода в текущей итерации и переходит к следующей. Посмотрите на код, который собирает строку из гласных букв, и напишите, какая строка будет в итоге выведена.

Что должно получиться?
result = ""
for char in "programming":
    if char not in "aeiou":
        continue
    result += char

print(result)
Сообщения
Проверить
Показать подсказку

Перебор элементов словаря

id: 39983_task_for_10

Словари можно перебирать по-разному: по ключам, по значениям или по парам "ключ-значение". Сопоставьте фрагменты кода в правой колонке с их назначением в левой.

Сопоставьте строки в правой части с соответствующими строками в левой по порядковому номеру
Перебор только ключей словаря
Перебор пар (ключ, значение) одновременно
Перебор только значений словаря
for k, v in data.items():
for val in data.values():
for key in data:
Сообщения
Проверить
Показать подсказку
НайтиКурс.Ру