Pętla for
Wstęp
W tym artykule poznamy pętlę for, która podobnie jak pętla while umożliwia wykonywanie fragmentu kodu wielokrotnie. Tym razem wykorzystamy ją do przechodzenia po przedziale liczb w określonym porządku.
for
Na początku przyjrzyjmy się kodowi, który wypisuje liczby naturalne od 0 do 9 włącznie.
for liczba in range(10):
print(liczba)
Pętlę rozpoczynamy słowem kluczowym for. Następnie podajemy nazwę zmiennej iterującej. Jest to zmienna, której wartość będzie się zmieniała w kolejnych obrotach pętli. W naszym przykładzie nazwaliśmy ją liczba, lecz często używa się jednoliterowej nazwy i (od słowa ,,iteracja”). Po zmiennej iterującej występuje słowo kluczowe in, a po nim funkcja range, której parametrem jest liczba kroków do wykonania. Na końcu zapisujemy dwukropek.
W powyższym przykładzie zmienna iterująca przyjmuje wartości od 0 do 9 (czyli do podanego parametru, ale bez niego). W każdym obrocie pętli zostaną wykonane instrukcje zapisane w bloku rozpoczynającym się w kolejnym wierszu. Instrukcje w bloku są wyróżnione dodatkowym wcięciem. W tym kodzie zostanie wykonana instrukcja print powodująca wypisanie wartości zmiennej liczba na ekranie.
Więcej o range
Funkcja range może przyjmować dwa parametry oznaczające początek i koniec przedziału liczb. Pierwszy parametr oznacza liczbę, od której zaczynamy iterację, a drugi liczbę, przed którą kończymy. Przykładowo, jeśli wpiszemy:
# for i in range(poczatek, koniec)
for i in range(10, 15):
print(i)
na ekranie zobaczymy liczby od 10 do 14 włącznie. Pętla zatrzyma się w momencie osiągnięcia przez zmienną i wartości 15 (krok z wartością 15 nie zostanie już wykonany).
Funkcja range może również przyjmować trzy parametry. Oznaczają one kolejno: początek i koniec przedziału oraz skok (różnicę pomiędzy kolejno odwiedzanymi liczbami). Na przykład:
# for i in range(poczatek, koniec, skok)
for i in range(10, 20, 2):
print(i)
da w wyniku liczby 10, 12, 14, 16, 18. Zauważmy, że liczba 20 nie zostanie już wypisana.
Skok może być liczbą ujemną, wtedy przechodzimy po przedziale w porządku malejącym. Poniższy kod wypisze liczby od 10 do 1. Pętla kończy się w momencie osiągnięcia przez zmienną i wartości 0.
for i in range(10, 0, -1):
print(i)