Pętla for

Powtórzenie tej samej linijki w kodzie 10 razy jest całkiem łatwe, ale co, gdy będziemy musieli powtórzyć ją 100 000 razy albo nieokreśloną ilość razy? W językach programowania takich jak Python do rozwiązywania tych problemów służą pętle, czyli funkcje powtarzające dane instrukcje, dopóki będzie spełniony jakiś warunek.

Budowa pętli for:

for iterator in range(a, b, c):
  kod, który ma się powtarzać

iterator - przykładowa nazwa zmiennej, najczęściej używana jest nazwa "i"
a, b, c - liczby ograniczające przedział funkcji range()

Czasami nie musimy wpisywać wszystkich argumentów do funkcji range(). Spójrzmy na przykłady:

Kod programu Python

for i in range(5):
  print(i)

Wynik wypisany w konsoli

0
1
2
3
4

Kod programu Python

for i in range(3, 8):
  print(i)

Wynik wypisany w konsoli

3
4
5
6
7

Kod programu Python

for i in range(3, 8, 2):
  print(i)

Wynik wypisany w konsoli

3
5
7

Jak widać na powyższych przykładach, jeśli wpiszemy tylko jeden argument do funkcji range(), to iterator będzie osiągać wartości od 0, do danego argumentu, nie osiągając go. Pętla będzie wykonywać się tyle razy, ile jest równy argument.

Jeśli wpiszemy dwa argumenty, to pętla będzie wykonywać się od pierwszego argumentu do drugiego, nie osiągając końcowego.

Wpisując trzeci argument, pętla wykonywać się będzie w podobny sposób, gdyby były tylko dwa argumenty, jednak iterator nie będzie rosnąć o 1, tylko o dany trzeci argument.


Krok, czyli wartość o którą zmienia się iterator, może być również ujemny, spójrzmy na poniższe przykłady:

Kod programu Python

for i in range(5, 2, -1):
  print(i)

Wynik wypisany w konsoli

5
4
3

Kod programu Python

for i in range(2, 5, -1):
  print(i)

Wynik wypisany w konsoli


Kod programu Python

for i in range(6, 2, -2):
  print(i)

Wynik wypisany w konsoli

6
4

Do funkcji range() nie musimy podawać tylko liczb, możemy również umieścić w niej zmienną o typie całkowitym. Dla przykładu program obliczający sumę liczb od 0 do n, gdzie n jest liczbą wprowadzoną przez użytkownika:

Kod programu Python

n=int(input())
s=0
for i in range(n+1):
  s+=i
print(s)

Dane wypisane do konsoli

10

Wynik wypisany w konsoli

55

Poprzednia lekcja Następna lekcja