Цикл із передумовою (або цикл while) буде повторюватися доти, поки виконується умова циклу. Блок-схему оператора while наведено на рис. 1.
Рис.1
Команда циклу з передумовою в мові програмування Python:
whіle <умова>:
____<тіло циклу>
Виконання команди циклу while починається з обчислення значення логічного виразу — умови повторення циклу. Якщо умова істинна, то виконуються оператори тіла циклу і керування повертається на перевірку умови. Якщо умова хибна, то виконання циклу припиняється і виконується оператор, який є наступним після оператора while. Якщо при першій перевірці умова виявиться хибною, то тіло циклу while не виконається жодного разу.
Створимо математичну модель для цієї задачі:
-
x — сума, переказана в першому місяці (грн);
-
— приріст суми щомісяця (грн);
-
S — гранична сума (грн).
-
n — кількість місяців, через які загальна сума перевищить 100000 грн.
До суми потрібно додавати наступні доданки, поки ця сума буде менша або дорівнюватиме 100 000. Тому логічний вираз у заголовку циклу матиме вигляд s <= 100 000. У тілі циклу шукатимемо наступний доданок (х = х + у), додаватимемо його до поточного значення суми (s = s + х) і збільшуватимемо кількість доданих доданків на 1 (n = n + 1).

w=Tk()
def c1():
x=float(ent1.get())
y=float(ent1.get())
s=x
n=1
while s<=100000:
x=x+y
s=s+x
n=n+1
ent3.delete(0,END)
ent3.insert(0,str(n))
lb1=Label(text='У перший місяць', font='Arial 14').pack()
ent1=Entry(font='Arial 14')
ent1.pack()
lb2=Label(text='Щомісячне збільшення', font='Arial 14').pack()
ent2=Entry(font='Arial 14')
ent2.pack()
bt=Button(text='Обчислити', font='Arial 14', command=c1)
bt.pack()
lb3=Label(text='Кількість місяців', font='Arial 14').pack()
ent3=Entry(font='Arial 14')
ent3.pack()

Для послідовного перебору цілих чисел із діапазону [0; 10) можна використовувати цикл for. Дії, які виконує for, повністю відповідають циклу while:
Числами Фібоначчі називають послідовність чисел, які обчислюють за таким правилом: перші два числа дорівнюють 1, а кожне наступне дорівнює сумі двох попередніх. Математично це можна записати так:
Fib[1] = Fib[2] = 1; Fib[n] = Fib[n–1]+Fib[n–2].
Для визначення номера першого числа Фібоначчі, яке більше за 1000, потрібен цикл із умовою:
Вкладник поклав до банку 1000 грн під 15 % річних. Через скільки років сума на рахунку вкладника подвоїться?