Pętla powtarza blok kodu. Python ma dwie pętle:
range(n) daje liczby 0, 1, ..., n-1 (bez n!). Wcięcie wyznacza ciało pętli, tak jak w if.
▶ Całość albo ⏭ KrokPowtórzenie nr 0 Powtórzenie nr 1 Powtórzenie nr 2 Powtórzenie nr 3 Powtórzenie nr 4
range(stop) -> od 0 do stop-1 range(start, stop) -> od start do stop-1 range(start, stop, krok) -> co krok
▶ Całość albo ⏭ Krok[0, 1, 2, 3, 4] [1, 2, 3, 4, 5] [0, 5, 10, 15] [10, 8, 6, 4, 2]
for przechodzi po kolejnych elementach czegokolwiek, co da się przejść.
▶ Całość albo ⏭ KrokP y t h o n Lubię jabłko Lubię gruszka Lubię śliwka
Zmienną wynikową tworzymy PRZED pętlą, w pętli ją aktualizujemy.
▶ Całość albo ⏭ KrokSuma 1..n = 15 n! = 120
▶ Całość albo ⏭ KrokLiczb parzystych w 1..20: 10 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz
Warunek sprawdzany jest PRZED każdym obrotem. Coś w pętli musi go w końcu zmienić, inaczej pętla nigdy się nie skończy.
▶ Całość albo ⏭ KrokOdliczanie: 3 Odliczanie: 2 Odliczanie: 1 Start!
Ile razy trzeba podwoić 1, żeby przekroczyć 1000?
▶ Całość albo ⏭ Krok10 kroków, wartość: 1024 Suma cyfr: 10
Szukamy pierwszej liczby podzielnej przez 7 i przez 4.
▶ Całość albo ⏭ KrokZnaleziono: 28
▶ Całość albo ⏭ Krok1 2 4 5 7 8 10
Wewnętrzna pętla wykonuje się w CAŁOŚCI dla każdego obrotu zewnętrznej.
▶ Całość albo ⏭ Krok 1 2 3 4 5 2 4 6 8 10 3 6 9 12 15 4 8 12 16 20 5 10 15 20 25
▶ Całość albo ⏭ Krok1 jabłko 2 gruszka 3 śliwka
Typowy format zadań: najpierw ile liczb, potem każda w osobnej linii. _ to zwyczajowa nazwa zmiennej, której nie używamy: potrzebujemy tylko powtórzyć input() n razy, numer obrotu jest zbędny.
▶ Całość albo ⏭ Krok[10, 20, 5]
[WYRAŻENIE for ZMIENNA in KOLEKCJA] buduje listę z wyników wyrażenia. Działa dokładnie jak pętla z komórki 12.
▶ Całość albo ⏭ Krok[10, 20, 5] suma: 35 max: 20 min: 5
▶ Całość albo ⏭ KrokZła suma 1..3: 3
Ile razy wykona się każda pętla i co zostanie wypisane? Najpierw przewidź, potem ▶ Uruchom.
Najpierw przewidź wynik, potem ▶ Całość albo ⏭ Krok.A: 0 1 2 3 4 B: 2 4 6 C: D: 6