Кірістірілген циклдерді ұйымдастыру

Көбейту кестесінде екі циклдің де шегі ТҰРАҚТЫ болды. Бірақ ішкі range-тің шегін СЫРТҚЫ айнымалыға байлауға да болады — дәл осыдан үшбұрыш пен пирамида тәрізді үлгілер туады.

Есеп: 5 жолдан тұратын өсу үшбұрышы (*, **, ***, ****, *****).
n = 5
for i in range(1, n+1):
    for j in range(1, i+1):
        print('*', end='')
    print()
Идея: ішкі циклдің шегі (range(1, i+1)) СЫРТҚЫ айнымалыға ТӘУЕЛДІ — әр жол өзгермелі ұзындықта болады.
Есеп: Кему ретті үшбұрыш (*****, ****, ***, **, *).
n = 5
for i in range(n, 0, -1):
    for j in range(1, i+1):
        print('*', end='')
    print()
Идея: СЫРТҚЫ циклдің ӨЗІ кему ретімен жүреді, сондықтан ішкі цикл шегі де кемиді.
Ескерту
Ішкі циклдің шегіне i+1 орнына жай i жазып қою — жиі қате. range(1, i) деп жазсаң, i=1 болғанда ішкі цикл БІРДЕ ДЕ орындалмайды.

Кірістірілген циклдің қанша рет орындалғанын есептеу: ішкі шек ТҰРАҚТЫ болса — жалпы қайталану n² (немесе n³). Ішкі шек СЫРТҚЫ айнымалыға тәуелді болса, әр қадамдағы санды ҚОСУ керек: үшбұрыш есебінде 1+2+3+4+5 = 15 (n²=25 емес!) — арифметикалық прогрессия қосындысы n(n+1)/2.