Цикл `for` — один из фундаментальных инструментов в Python. Он позволяет многократно выполнять один и тот же блок кода для каждого элемента в последовательности. Это может быть список, строка, диапазон чисел или любой другой итерируемый объект. В этом тренажере мы пройдем путь от самых основ синтаксиса до более сложных конструкций. Вы научитесь перебирать различные типы данных, использовать функцию `range()`, управлять ходом цикла с помощью `break` и `continue`, а также работать с вложенными циклами. Задания построены по принципу "от простого к сложному": вам предстоит заполнять пропуски в коде, находить и исправлять ошибки, собирать работающие программы из фрагментов и предсказывать результат их выполнения.
- Модуль 1: Основы синтаксиса Python
- Модуль 2: Переменные и типы данных
- Модуль 3: Операторы
- Арифметические операторы (+, -, *, /).
- Целочисленное деление и остаток (// и %).
- Возведение в степень (**).
- Операторы сравнения.
- Логические операторы (and, or, not).
- Операторы присваивания (=, +=, -=).
- Операторы принадлежности (in, not in).
- Операторы идентичности (is, is not).
- Битовые операторы.
- Тернарный оператор.
- Модуль 4: Ввод и вывод данных
- Модуль 5: Условные конструкции
- Модуль 6: Циклы
- Модуль 7: Строки
- Модуль 8: Списки
- Модуль 9: Кортежи
- Модуль 10: Словари
- Модуль 11: Множества
- Модуль 12: Функции
- Модуль 13: Встроенные функции
- Модуль 14: Работа с файлами
- Модуль 15: Обработка исключений
- Модуль 16: Модули и пакеты
- Модуль 17: ООП - Основы
- Модуль 18: ООП - Продвинутый уровень
- Модуль 19: Декораторы
- Модуль 20: Генераторы и итераторы
- Модуль 21: Регулярные выражения
- Модуль 22: Дата и время
- Модуль 23: Математические операции
- Модуль 24: Работа с сетью
- Модуль 25: Асинхронное программирование
- Модуль 26: Многопоточность
- Модуль 27: Тестирование
- Модуль 28: Базы данных
- Модуль 29: Алгоритмы и структуры данных
- Модуль 30: Продвинутые возможности
Основы цикла: перебор списка
Завершите код, чтобы он последовательно вывел на экран каждый фрукт из списка `fruits`. Вам нужно вставить ключевые слова, которые определяют синтаксис цикла `for`.
fruits = ["Яблоко", "Банан", "Апельсин"]
input1S element input2S fruits:
print(element)Перебор символов в строке
Цикл `for` может перебирать не только списки, но и символы в строке. Внимательно посмотрите на код и выберите вариант, который точно соответствует тому, что будет выведено на экран.
for char in "Python":
print(char)Ошибка в функции range()
Функция `range()` очень часто используется в циклах `for`, но в этом коде в её вызове допущена синтаксическая ошибка. Найдите строку с ошибкой и исправьте её, чтобы цикл заработал.
# Этот цикл должен вывести числа от 1 до 4 включительноfor i in range(1: 5): print(i)Результат работы range()
Проанализируйте цикл, использующий `range()`. Какое последнее число выведет этот код? Введите только одно число в поле ответа.
for number in range(5):
print(number)Сборка range() с шагом
Соберите вызов функции `range()` так, чтобы цикл вывел все четные числа от 0 до 8 включительно. Используйте элементы из "банка токенов". Один из токенов лишний.
for i in input1S(0, input2S, input3S):
print(i)Соберите код для подсчета суммы
Перед вами перемешанные строки кода. Соберите из них работающую программу, которая вычисляет сумму всех чисел в списке `numbers`. Одна из строк является лишней и не должна использоваться.
total_sum += numnumbers = [10, 20, 5, 15]print(total_sum)total_sum = 0for num in numbers:print(num)Вложенные циклы для создания таблицы
Расставьте строки кода в правильном порядке, чтобы создать программу, которая выводит небольшую таблицу умножения (2x2). Обращайте внимание на отступы, они уже расставлены правильно и являются подсказкой.
print(f"{i} * {j} = {i*j}")for i in range(1, 3): for j in range(1, 3): print("---")Оператор break: досрочный выход
Оператор `break` немедленно прекращает выполнение цикла. Проанализируйте код и определите, что будет выведено на экран. Цикл ищет первое число больше 10.
numbers = [2, 5, 8, 13, 21]
for num in numbers:
if num > 10:
print(num)
breakОператор continue: пропуск итерации
Оператор `continue` пропускает оставшуюся часть кода в текущей итерации и переходит к следующей. Посмотрите на код, который собирает строку из гласных букв, и напишите, какая строка будет в итоге выведена.
result = ""
for char in "programming":
if char not in "aeiou":
continue
result += char
print(result)Перебор элементов словаря
Словари можно перебирать по-разному: по ключам, по значениям или по парам "ключ-значение". Сопоставьте фрагменты кода в правой колонке с их назначением в левой.
for k, v in data.items():for val in data.values():for key in data: