Czasami chcemy, aby nasz program wykonał jakąś operację, nie znając ilości powtórzeń. W języku Python w takich przypadkach sprawdza się funkcja while, czyli z angielskiego "dopóki".
Budowa pętli while:
while(warunek):
kod, który ma się powtarzać
warunek - pętla będzie się powtarzać dopóki warunek będzie prawdziwy
a=7
while(a>5):
print(a)
a-=1
7
6
Częstym błędem podczas używania pętli while jest warunek, który zawsze będzie prawdziwy:
i=1
s=0
while(i>0):
s+=i
i+=1
print(s)
Program nie wypisze nic, gdyż zmienna i będzie cały czas zwiększana, czyli działanie pętli nigdy się nie zakończy.
Pokażemy zastosowanie funkcji while na przykładzie wypisania dzielników liczby wprowadzonej przez użytkownika.
n=int(input())
dzielnik=1
while(dzielnik<=n):
if n%dzielnik==0:
print(dzielnik)
dzielnik+=1
10
1
2
5
10
Program sprawdza, czy zmienna dzielnik dzieli liczbę wpisaną przez użytkownika. Jeśli ją dzieli, to wypisuje aktualną wartość zmiennej dzielnik. Następnie zwiększa zmienną dzielnik, dopóki wartość nie przekroczy liczbę wprowadzoną z klawiatury.