Цикл з лічильником (або цикл із параметром) використовують, якщо кількість повторень визначає певна послідовність значень (символи рядка, елементи списку тощо). Блок-схему циклу подано на рис.1.
for х in <послідовність>:
____<тіло циклу>
Змінна х — лічильник (параметр) циклу — послідовно набуває значень кожного члена послідовності.
Згадаємо визначення термінів (рис.2). Рядок, що починається з ключового слова for, називають заголовком циклу, а повторювані в циклі команди - тілом циклу.

Числові послідовності можна задавати за допомогою вбудованої функції range():
Функція range(<кількість повторень>) утворює (генерує) набір послідовних цілих чисел, перше з яких 0, а останнє – на 1 менше від заданої кількості повторень.
Змінна – лічильник циклу послідовно набуває значень із цього набору чисел.
Виконується команда циклу з лічильником так:
1. Функція range(<кількість повторень>) генерує набір цілих чисел від 0 до кількість повторень – 1.
2. Виконується перевірка, чи є в наборі числа, які ще не використовувалися і могли б стати новим значенням змінної – лічильника циклу.
3. Якщо результат перевірки True, то змінна – лічильник циклу набуває значення першого з набору чисел, які ще не використовувалися, і після цього виконується дія 4; якщо False, то виконання команди циклу закінчується і далі виконується команда, наступна за командою циклу.
4. Виконуються команди тіла циклу.
5. Повторюється виконання дії 2.
У записі команди циклу з лічильником усі команди тіла циклу повинні бути записані з однаковим відступом праворуч від першої літери у слові for.
У команді циклу з лічильником можна також використовувати функцію
range(<початок діапазону>, <кінець діапазону>, <крок>),
яка має 3 аргументи цілого типу:
● початок діапазону – перше ціле число, яке потрапить до згенерованого набору;
● кінець діапазону – ціле число, яке не увійде до згенерованого набору й яке більше за всі числа з набору, якщо крок > 0, і менше від усіх чисел з набору, якщо крок <0.
for i in range(20, 25): print(i)
Надрукувати числа від 0 до 3. Якщо початок дорівнює 0, цей параметр можна не зазначати:
for i in range(4): print(i)
Надрукувати числа від 5 до 1. Якщо потрібно вести відлік у зворотному порядку, крок має бути від’ємним:
for i in range(5, 0, –1): print(i)
Задача. Створити проєкт для обчислення кількості кульок у пірамідці (рис.2).

Рис.2
Створимо математичну модель для цієї задачі, враховуючи, що в першому зверху шарі пірамідки 1 кулька, у другому – 2 ряди по 2 кульки, у третьому – 3 ряди по 3 кульки і так далі. Врахуємо також, що кількість шарів у пірамідці може бути довільним натуральним числом.
Математична модель:
вхідні дані: кількість шарів у пірамідці (n);
кінцеві результати: кількість кульок у пірамідці (s);
формули: s = 1² + 2² + 3² + 4² +… + n².
Проєкт для розв’язування цієї задачі:
from tkinter import*
w=Tk()
def c1():
n=int(ent1.get())
m=0
for i in range(n):
m=m+(i+1)**2
ent2.delete(0,END)
ent2.insert(0,str(m))
lb1=Label(text='Уведіть значення n', font='Arial 14').pack()
ent1=Entry(font='Arial 14')
ent1.pack()
bt=Button(text='Обчислити', font='Arial 14', command=c1)
bt.pack()
lb2=Label(text='Кількість кульок:', font='Arial 14').pack()
ent2=Entry(font='Arial 14')
ent2.pack()
Вікно виконання проєкту наведено на рис.3.

Рис.3