Как работают вложенные циклы на питон?

Как работает этот код? Каким образом получается такой результат? объясните, пожалуйста, максимально просто, с объяснением полученных цифр.

for i in range(1,6):
    for j in range (1,i+1):
        print(j, " ", end="")
    print()

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5


Ответы (1 шт):

Автор решения: zankorobos

У вас есть 2 цикла. Первый - for i in range(1,6) он идёт от 1 до 5, а в качестве счётчика выступает переменная i внутри первого цикла есть второй - for j in range (1,i+1) он идёт от 1 до значения переменной i+1, то есть если i=3, то цикл будет идти от 1 до 3х range(1,4) дает значения от 1 до 3.Так как один цикл находится в другом, с каждой итерацией (кругом) цикла будут проходить все итерации вложенного цикла. Это можно сравнить с часами и минутами, где минуты - вложенный цикл в часы. Когда наступает новый час происходит 60 итераций минут, после чего завершается итерация 1 часа. Происходит переход на новый час и обнуление минут. В конкретно этой программе при первой итерации первого цикла значение i = 1, что означает, что второй цикл будет идти от 1 до 1, т.е. сработает 1 раз и выведет переменную j которая равна 1. При выводе j программа также выводит и пробел для того, чтобы если чисел 2 или более, они были разделены. Также в функции print() можно заметить параметр end который равен пустоте end="", это сделано для того, чтобы после вывода j не было перехода на новую строку (по умолчанию параметр end="\n". \n - оператор перехода на новую строку). После вывода всех чисел, производится переход на новую строку путём пустого принта print(). Как я выше писал пустой print() содержит \n, после чего операция повторяется с увеличенным значением i

→ Ссылка