Lekcja 7 składa się z trzech części A, B, C, które można wykonać w dowolnej kolejności.
Do tej pory uczyliśmy się podstawowych poleceń programowania (n.p. przypisywania wartości, drukowania) oraz sposobu sprawdzania, które instrukcje są wykonywane przy użyciu instrukcji if. W tej lekcji wprowadzamy pętle (nazywane powtórzeniami lub iteracją): sposób na robienie przez komputer tego samego (lub podobnych rzeczy) w kółko. Na przykład, sprawdzanie pisowni każdego słowa w dokumencie byłoby wykonywane za pomocą pętli. Opisujemy dwa rodzaje pętli Pythona w tej lekcji: pętle while i pętle for.
Pętle while
Instrukcja while powtarza fragment kodu w kółko, tak długo, dopóki jakiś warunek jest prawdziwy. Oto przykład:
Pierwsza linia to while «warunek»:, gdzie «warunek» jest wyrażeniem, które zwraca True lub False (wyrażenie typu boolowskiego, podobnie jak if).
Oto ogólna struktura:
- Pierwsza linia to
while «warunek»:, gdzie «warunek» jest wyrażeniem, które zwracaTruelubFalse(wyrażenie typu boolowskiego, podobnie jakif). - Następnie, wstawimy wcięty blok (znów, jak np. w instrukcja
if) składający się z wyrażeń, które chcemy powtarzać w kółko. Nazywamy to ciałem. - Kiedy program jest uruchomiony, poniższe jest powtarzane:
- O Warunek jest testowany; jeśli warunek jest
True, wtedy ciało jest wykonywane, potem powtarzamy wszystko od góry; gdy warunek zostanie oszacowany jakoFalse, pętla zostanie zatrzymana.
- O Warunek jest testowany; jeśli warunek jest
W powyższym przykładzie powtarzamy ciało pętli, aż timeLeft nie będzie większa niż 0.
![]() | Z użyciem pętlami łatwo jest napisać program, który działa w nieskończonej pętli. Otrzymasz błąd "Time Limit Exceeded" (Przekroczono limit czasu), ponieważ nasz serwer internetowy CS Circles wymusza limit czasu; po upływie 1 sekundy program zostaje zakończony. Jeśli uruchomiłbyś program w domu, to cały czas by działał (dopóki nie zmusiłbyś go do zakończenia, zazwyczaj, poprzez naciśnięcie klawiszy Ctrl-C). |
Pętle for
W Pythonie jest też inny rodzaj pętli zwanej pętlą for. W wielu sytuacjach może być użyty którykolwiek rodzaj pętli (for/while), a jeden jest prostszy od drugiego, więc dobrze jest wiedzieć, jak używać obu. Pętla for jest tak zbudowana, że łatwo poruszać się w określonym zakresie liczb (lub jak zobaczymy w późniejszej lekcji, po dowolnej liście danych).
Poniżej przykład pętli for.
Ogólna struktura numerycznej pętli for
dla «variableName» w zakresie («startValue», «tailValue»): «wciety blok poleceń, nazywamy"ciałem" pętli»Jak zwykle, blok ciała może składać się z wielu linii, a wszystkie te linie mają mieć wcięcie tej samej wielkości. Najpierw ciało pętli jest wykonywane ze zmienną
variableName ustawioną na wartość startValue. Następnie powtarzane jest ze zmienną variableName ustawioną na wartość startValue+1, a następnie z wartością startValue+2 itd. To trwa aż variableName przyjmie wartość tailValue-1 i wtedy pętla zostanie zatrzymana.
![]() | Pętla kończy się dla zmiennej tailValue-1, a nie tailValue!
|
Oto przykład pętli for wewnątrz innej pętli for.
Instrukcje break i continue
Instrukcja break jest jak wyjście awaryjne z pętli while lub for: break powoduje natychmiastowy skok do poleceń, które znajdują się po części z ciałem pętli. Oto przykład przy użycia break: odczytuje wszystkie linie wejściowe, dopóki nie odczyta "END".
Polecenie continue pozwala pominąć resztę pętli, a następnie, powtórzyć instrukcje ciała w kolejnej rundzie (zazwyczaj nazywamy to następną "iteracją").
Oto zwizualizowany przykład, który łączy break and continue. Czy możesz przewidzieć, co wyjdzie?




