Вложенный цикл
Вложенный цикл — это цикл, расположенный внутри тела другого цикла. При каждом выполнении одной итерации внешнего цикла внутренний цикл запускается заново и обычно выполняется полностью.
Чтобы определить общее число выполнений команд во вложенных циклах, сначала анализируют внутренний цикл для одной итерации внешнего, а затем учитывают число повторений внешнего цикла. Если число повторений внутреннего цикла не зависит от внешнего, количества перемножают.
Если внутренний цикл зависит от значения внешнего счётчика, используют сумму: для каждой итерации внешнего цикла находят число повторений внутреннего и складывают результаты. Такой способ относится к анализу циклов. При подсчёте важно отличать число повторений цикла от числа выполнений команд внутри его тела.
Пусть внешний цикл выполняется 3 раза, а внутренний — 4 раза при каждом запуске. Команда внутри внутреннего цикла выполнится \(3 \cdot 4 = 12\) раз. Внутренний цикл завершает работу после каждой внешней итерации, затем запускается снова при следующей.
1for i in range(3): 2 for j in range(4): 3 print(i, j)
Внешний цикл выполняется 5 раз, внутренний — 2 раза при каждом запуске. Сколько раз выполнится команда внутри внутреннего цикла?
Если два цикла стоят один за другим, их повторения обычно складываются. Во вложенных циклах внутренний цикл находится внутри тела внешнего и запускается для каждой его итерации, поэтому при независимых счётчиках повторения перемножаются. Оператор выхода из цикла может досрочно завершить внутренний или внешний цикл, поэтому формулу нужно применять с учётом условий выхода.
При переменном числе повторений рассмотрите, например, внешний счётчик \(i\): если внутренний цикл выполняется \(i\) раз, а \(i\) принимает значения от 1 до \(n\), общее число выполнений равно \(1+2+\ldots+n\). В таких задачах полезно пошагово составить таблицу значений счётчиков.
Главное
- Вложенный цикл находится внутри тела другого цикла.
- При одинаковом числе повторений общее количество обычно равно произведению чисел повторений внешнего и внутреннего циклов.
- Если число повторений внутреннего цикла меняется, результаты для итераций внешнего цикла складывают.