Найти в Дзене
Дойти до IT

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

Вложенный цикл — это цикл, который находится внутри другого цикла и выполняется во время его работы. Вложенные циклы часто применяются для обработки данных с двумя уровнями структуры, например, для создания таблицы умножения. for i in range(1, 10):
for j in range(1, 10):
print(i * j, end='\t')
print() for i in range(1, 10) - внешний цикл for j in range(1, 10) - внутренний цикл, находится в теле внешнего цикла. При каждой итерации внешнего цикла будет полностью выполнен внутренний цикл. То есть если временная переменная i примет значение 1, то для этого значения перемножаться все значения временной переменной j, и так до тех пор, пока i не примет значение 9 Выполним код программы выше и увидим такой результат: Напишем еще одну программу с вложенным циклом для более лучшего понимания, она будет выводить узор из звездочек: for i in range(1, 10): # внешний цикл
for j in range(i): # внутренний цикл, каждая итерация увеличивает кол-во звездочек на i
print('*', end

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

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

for i in range(1, 10):
for j in range(1, 10):
print(i * j, end='\t')
print()

for i in range(1, 10) - внешний цикл

for j in range(1, 10) - внутренний цикл, находится в теле внешнего цикла.

При каждой итерации внешнего цикла будет полностью выполнен внутренний цикл. То есть если временная переменная i примет значение 1, то для этого значения перемножаться все значения временной переменной j, и так до тех пор, пока i не примет значение 9

Выполним код программы выше и увидим такой результат:

-2

Напишем еще одну программу с вложенным циклом для более лучшего понимания, она будет выводить узор из звездочек:

for i in range(1, 10): # внешний цикл
for j in range(i): # внутренний цикл, каждая итерация увеличивает кол-во звездочек на i
print('*', end='') # вывод звездочек
print() # переход на новую строчку

В итоге на выводе мы получим вот такой результат:

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

Этот код использует вложенные циклы для вывода на экран нескольких строк со звёздочками.

Внешний цикл for i in range(1, 10): задаёт количество строк, которые будут выведены, и проходит по числам от 1 до 9 включительно.

Для каждой итерации внешнего цикла выполняется внутренний цикл for j in range(i):, который выводит определённое количество звёздочек в строке. Количество звёздочек увеличивается с каждой новой строкой и зависит от текущего значения i. То есть в первой строке будет выведена одна звёздочка, во второй — две, и так далее, до девяти звёздочек в последней строке.

Команда print('*', end='') выводит звёздочку без перехода на новую строку, что позволяет выводить несколько звёздочек в одной строке.

После завершения внутреннего цикла выполняется команда print(), которая выводит пустую строку и переводит курсор на новую строку, чтобы следующий набор звёздочек выводился с новой строки.