Pętlę for znacie ze Scratcha. Tam wyglądało to tak:
Iteracja (łac. iteratio – powtarzanie) – czynność powtarzania tej samej operacji w pętli z góry określoną liczbę razy lub aż do spełnienia określonego warunku. Mianem iteracji określa się także operacje wykonywane wewnątrz takiej pętli.
np.
for i in [0, 5, 2, 8, 4]:
print(i)
W wyniku działania tego programu zmienna i przybierze najpierw wartość 0, w następnym kroku 5, później 2 itd.
Każda z tych wartości zostanie wyprowadzona instrukcją wyjścia (print) na ekran. ZWRÓĆ UWAGĘ na znak dwukropka na końcu oraz cztery spacje wcięcia!
for i in range(5):
print(i)
uwaga! range oznacza zakres
W tym przypadku zamiast wypisywać listę wartości korzystamy z funkcji range(), która wygeneruje kolejne liczby całkowite od 0 aż do napotkania na koniec czyli 5.
W wyniku działania tego programu wyświetlą się na ekranie kolejno 0, 1, 2, 3 i 4. Funkcja range() z wpisanym wewnątrz nawiasu jednym argumentem traktuje go jako koniec pętli i nie wyświetla.
Jeżeli chcemy wyświetlić jakiś konkretny przedział liczb to możemy w range() podać początek i koniec tego przedziału. Koniec znów się nie wyświetli.
for i in range(5, 10):
print(i)
Ten program wyświetli kolejno: 5, 6, 7, 8, i 9.
Ale range() może mieć 3 argumenty: początek, koniec i krok.
for i in range(5, 16, 5):
print(i)
W tym przypadku program wyświetli kolejno: 5, 10 i 15, bo koniec to 16, a krok to 5.
Jeżeli chciałbym wyświetlić na ekranie liczby całkowite ale w odwrotnej kolejności to mogę zastosować krok ujemny, oczywiście należy wpisać również początek i koniec.
for i in range(15, 4, -5):
print(i)
W tym przypadku zmienna i będzie przybierała w kolejnych krokach następujące wartości: 15, 10, 5. Koniec to 4, a krok jest ze znakiem minus.
p = int(input("Podaj wartość całkowitą zmiennej p: "))
k = int(input("Podaj wartość całkowitą zmiennej k: "))
step = int(input("Podaj wartość całkowitą zmiennej krok: "))
for i in range(p, k, step):
print(i)
A w tym programie pytam użytkownika o początek, koniec i krok dla funkcji range().
for i in range(5):
a = int(input("Podaj wartość a: "))
Taki program zapyta użytkownika 5 razy o wartość zmiennej a.
for i in range(5):
print("Ala ma kota")
A ten program napisze 5 razy Ala ma kota.
napis = "szkola"
for litera in napis:
print(litera)
W tym programie zdefiniowano zmienną typu string o nazwie napis. A następnie w pętli odczytujemy litera po literze zmienną napis i drukujemy litery na ekranie.