Menu
Coddy logo textTech

Вложенные циклы

Часть раздела Fundamentals путешествия по Python на Coddy — урок 41 из 77.

Вложенный цикл — это цикл внутри другого цикла. Внутренний цикл выполняет все свои итерации для каждой итерации внешнего цикла.

Давайте начнем с простого вложенного цикла, чтобы понять концепцию:

# Внешний цикл
for i in range(3):
    print(f"Outer loop iteration: {i}")
    
    # Внутренний цикл
    for j in range(2):
        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

Обратите внимание, что для каждой итерации внешнего цикла внутренний цикл выполняет все свои итерации.

Теперь давайте рассмотрим практический пример — вывод простого узора:

# Вывод прямоугольника 2x3 из звездочек
for row in range(2):  # 2 строки
    line = ""
    for col in range(3):  # 3 столбца
        line += "*"
    print(line)

# Вывод:
# ***
# ***

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

challenge icon

Задание

Легко

Напишите код, который выводит прямоугольный узор из звездочек (*) с использованием вложенных циклов.

Ваша программа должна:

  1. Прочитать два целых числа: rows и cols
  2. Использовать структуру вложенного цикла для вывода узора
  3. Внешний цикл должен итерироваться по каждой строке
  4. Внутренний цикл должен формировать каждую строку с правильным количеством звездочек
  5. Выводить каждую готовую строку

Пример: если на вход подается 3 строки и 4 столбца, вывод должен быть следующим:

****
****
****

Шпаргалка

Вложенные циклы — это циклы внутри других циклов:

for x in range(2):
    for y in range(2):
        print(x, y)

# Вывод:
# 0 0
# 0 1
# 1 0
# 1 1

Внутренний цикл выполняет все итерации для каждой итерации внешнего цикла, подобно тому как минутная стрелка часов совершает полный оборот за каждый час.

Попробуйте сами

# Получение ввода для строк и столбцов
rows = int(input())
cols = int(input())

# Напишите здесь ваши вложенные циклы
# Внешний цикл для строк
# Внутренний цикл для столбцов
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Fundamentals