Вложенный цикл
Часть раздела Основы путешествия по Python на Coddy. Урок 41 из 77.
Вложенный цикл — это цикл внутри другого цикла. Внутренний цикл выполняет все свои итерации при каждой итерации внешнего цикла.
Начнём с простого вложенного цикла, чтобы понять эту концепцию:
rows = 3
cols = 2
# Внешний цикл
for i in range(rows):
print(f"Outer loop iteration: {i}")
# Внутренний цикл
for j in range(cols):
print(f" Inner loop iteration: {j}")При запуске этого кода вы увидите:
Outer loop iteration: 0
Inner loop iteration: 0
Inner loop iteration: 1
Outer loop iteration: 1
Inner loop iteration: 0
Inner loop iteration: 1
Outer loop iteration: 2
Inner loop iteration: 0
Inner loop iteration: 1Обрати внимание: для каждой итерации внешнего цикла внутренний цикл выполняет все свои итерации. У каждого цикла свой счётчик: j снова начинает с 0 каждый раз, когда выполняется внешний цикл, а rows и cols остаются неизменными и лишь указывают циклам, когда остановиться.
А теперь рассмотрим практический пример — вывод простого узора:
# Вывести прямоугольник из звёздочек размером 2x3
for row in range(2): # 2 строки
line = ""
for col in range(3): # 3 столбца
line += "*"
print(line)
# Вывод:
# ***
# ***Внешний цикл управляет количеством выводимых строк, а внутренний цикл формирует каждую строку, добавляя звёздочки.
Задание
ЛегкоНапиши код, который выводит прямоугольный узор из звёздочек (*) с помощью вложенных циклов.
Твоя программа должна:
- Считать два целых числа:
rowsиcols - Использовать структуру вложенных циклов для вывода узора
- Внешний цикл должен проходить по каждой строке
- Внутренний цикл должен формировать каждую строку с нужным количеством звёздочек
- Выводить каждую сформированную строку
Пример: если на вход подаются 3 строки и 4 столбца, вывод должен быть таким:
****
****
****Используй новый счётчик для каждого цикла (например, i для строк и j для звёздочек в строке) и сравнивай его с rows или cols. Не изменяй сами rows и cols: для каждой строки снова нужны cols.
Попробуйте сами
# Считайте входные данные для строк и столбцов
rows = int(input())
cols = int(input())
# Напишите здесь вложенные циклы
# Внешний цикл для строк
# Внутренний цикл для столбцовВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 3Логические операторы. Часть 47Калькулятор разделения счёта
Приветственное сообщениеПолучение ввода13Списки: продвинутый уровень
Срезы списков. Часть 1Срезы списков. Часть 2Операторы последовательностейПринадлежность2Переменные
ЧислаСтрокаЛогический типСоглашения об именованииПустые переменныеПовторение — инициализация переменных8Циклы
Цикл forЦикл whileПрерывание циклаПереход к следующей итерацииПовторение: факториалФункция rangeВложенный циклПовторение: динамический ввод3Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСокращённые арифметические операцииПовторение — простая математикаОператоры сравнения6Базовый ввод-вывод
ВыводВывод с переменнымиВводПреобразование типаПовторение — до 120Повторение — истина или ложь9Функции
Объявление функцииАргументыВозврат значенияПовторение — функция SigmaПовторение — функция проверкиЗначения по умолчанию12Перебор последовательностей
Перебор элементовФункция enumerateПеребор строк. Часть 1Перебор строк. Часть 2Потренируйтесь самостоятельно: Онлайн-компилятор Python