top of page

Python - pętla while


Pętla while


Wstęp

Często problem, który chcemy rozwiązać, wymaga powtarzania jakiejś operacji. Jest tak np. w przypadku wielokrotnego sprawdzania, czy wpisane hasło jest poprawne. Pętla while umożliwia wykonywanie fragmentu kodu wielokrotnie. Stosując ją, można zautomatyzować powtarzalne czynności.


while

Pętla while ma następujący schemat:


while warunek:
    wiersz kodu do wykonania
    wiersz kodu do wykonania
    wiersz kodu do wykonania
    ...
 

Jak widać powyżej, zaczynamy ją słowem kluczowym while, a po spacji zapisujemy warunek zakończony dwukropkiem.


Warunkiem może być na przykład wspomniane wcześniej sprawdzenie poprawności hasła lub sprawdzenie, czy liczba jest z oczekiwanego zakresu. Więcej o konstruowaniu warunków można przeczytać w poprzednich artykułach ,,Instrukcja warunkowa” oraz ,,Operatory logiczne”.


Jeśli warunek pętli jest spełniony (prawdziwy), to zostaną wykonane instrukcje zapisane w bloku rozpoczynającym się w kolejnym wierszu. Instrukcje w bloku są wyróżnione dodatkowym wcięciem. Po wykonaniu bloku instrukcji program wraca na początek pętli i ponownie sprawdza warunek. Jeśli natomiast warunek nie jest spełniony, to program pomija blok pętli i przechodzi dalej.


Oto przykładowy program wykorzystujący pętlę while do wypisania kolejnych liczb naturalnych od 1 do 9.


liczba = 1
while liczba < 10:
    print(liczba)
    liczba = liczba + 1
 

Na początku tworzymy zmienną liczba i przypisujemy jej wartość 1. Następnie, dopóki liczba jest mniejsza niż 10, dopóty wypisujemy jej wartość i zwiększamy ją o jeden. Pętla wykona się dokładnie 9 razy. Po dziewiątym kroku zmienna liczba będzie miała wartość 10, więc warunek nie będzie spełniony i pętla zakończy działanie.


Operatory przypisania

W lekcji ,,Zmienne” poznaliśmy operator przypisania. Istnieje wiele rodzajów tego operatora, dzięki którym możemy pisać krótsze i bardziej czytelne kody. Kiedy do wartości zmiennej chcemy dodać ustaloną wartość możemy napisać:


liczba += 1
 

Po lewej stronie operatora += znajduje się nazwa zmiennej, do której dodajemy wartość wyrażenia zapisanego po prawej stronie operatora. Powyższy kod jest równoważny zapisowi:


liczba = liczba + 1
 

Skrócone operatory przypisania

Skrócony zapis

Rozwinięcie

Opis

x -= 2 * 6

x = x - (2 * 6)

liczbę zmniejszamy o 12

x *= 3 + 4

x = x * (3 + 4)

liczbę mnożymy razy 7

x /= 2**3

x = x / 2**3

liczbę dzielimy przez 8

x //= 2

x = x // 2

liczbę dzielimy przez 2 bez reszty

x %= (5 - 3)

x = x % (5 - 3)

liczbę modulujemy przez 2

Ćwiczenie

Napisz program, który wczyta liczbę dodatnią N oraz za pomocą pętli while wypisze wszystkie liczby naturalne od N do 1, od największej do najmniejszej. Zarówno N, jak i 1 powinny znajdować się wśród wypisanych liczb. Liczby powinny być oddzielone spacjami. Do wypisania spacji po liczbie (zamiast domyślnego przejścia do nowego wiersza) możesz użyć konstrukcji print(liczba, end=' '). Na przykład dla N = 5, program powinien wypisać 5 4 3 2 1.


Spróbuj powyższe zadanie rozwiązać samodzielnie. Poniżej możesz zobaczyć poprawne rozwiązanie.


N = int(input())
while N >= 1:
    print(N, end=' ')
    N -= 1
 

Na początku wczytujemy wartość do zmiennej N. Następnie, dopóki N jest większa lub równa 1, dopóty wypisujemy jej wartość i zmniejszamy ją o jeden. Pętla wykona się dokładnie N razy. Po ostatnim wykonaniu zmienna N będzie miała wartość 0, więc warunek nie będzie spełniony i pętla zakończy działanie.

 

Trenuj z nami!

example lesson on codeforia

Pisanie programów jest bardzo ważnym elementem nauki programowania. Możesz to robić rozwiązując zadania (mikroprojekty) dostępne na naszej platformie edukacyjnej Codeforia. Rozwiązania są sprawdzane automatycznie, a po chwili od wysłania kodu dowiesz się, czy jest ono poprawne, czy wymaga zmian. Zapraszamy również na regularne zajęcia online, gdzie będziesz mógł/mogła rozwijać się pod okiem doświadczonego trenera.

Zobacz nasze dostępne kursy.

Kursy programowania dla dzieci i młodzieży.

bottom of page