Pętle
W naszych programach, często będziemy potrzebować, żeby ten sam kod wykonywał się wielokrotnie. W takich sytuacjach przydadzą nam się pętle.
Co to są pętle?
W programowaniu, pętle to instrukcje, które wykonają dany kod wiele razy. W pythonie mamy dwa rodzaje pętli: for i while. Teraz je omówimy.
Pętla for
Najczęściej spotykana pętla. W pythonie ma wiele różnych form, ale na razie nauczymy się najprostszej. Załóżmy, że chcemy w konsoli wypisać liczby od 1 do 10. Bez pętli wyglądałoby to tak:
print(1) print(2) print(3) print(4) print(5) print(6) print(7) print(8) print(9) print(10)
Dość dużo linijek, i przy większych liczbach mielibyśmy problem. Z pętlą for, działa to następująco
for i in range(1, 11): print(i)
Pętla for posiada swoją własną zmienną i, którą ustawiamy na przedział od 1 do 11. Musimy uważać, bo ta druga liczba nie wlicza się do przedziału. To znaczy, że pętla wyświetli nam liczby od 1 do 10, bez 11.
Kod w tej pętli wykona się 10 razy i wartość zmiennej i będzie rosnąć o 1 po każdym wykonaniu.
Jeśli zaczynamy pętle od zera, możemy pominąć to zero i wpisać liczbę, na której chcemy zakończyć
for i in range(10): print(i) # W konsoli: # 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 9
Pętla while
Kolejną pętlą jest pętla while. Jest ona dość zbliżona do instrukcji warunkowej if, ponieważ też podajemy w niej warunek. Różnica polega na tym, że pętla while wykona kod dopóki warunek jest prawdziwy, a if wykona się tylko raz.
Zapiszmy przykład z poprzedniej pętli, ale używając pętli while
a = 1 while a <= 10: print(a) a++
Tutaj musiałem sam przed pętlą stworzyć zmienną a i ustawić ją na 1. Później w pętli while jako warunek podałem, że a mniejsze lub równe 10. W środku pętli wyświetlam zmienną a w konsoli i na koniec zwiększam ją o 1.
Nieskończona pętla
Przy pętli while, istnieje ryzyko stworzenia nieskończonej pętli, czyli kod będzie się wykonywał bez końca. Czasem jest to przez nas pożądany efekt, ale zrobienie jej nieumyślnie może doprowadzić do zawieszenia się programu.
Przykłady nieskończonych pętli:
while True: print("Nieskończoność!")
W powyższym kodzie True oznacza prawdę, więc w konsoli nieskończenie wiele razy wyświetli się Nieskończoność!
a = 5 while a < 20: print(a)
Tutaj nie zmieniamy nigdy wartości zmiennej, więc warunek a < 20 jest zawsze prawdziwy. W konsoli w zapętleniu będzie pojawiać się cyfra 5.