Pętla while

Preview Mode

You're viewing this material in preview mode. Sign up to track your progress and access all features.

Pętla while
Required In Progress

Python • kurs podstawowy • lekcja 11

Pętla while

Potrzebujesz odliczania.

Twój cel: Prześledzisz stan pętli while i zapewnisz osiągalny warunek zakończenia.

Warunki i aktualizowanie zmiennej.

Co ma zrobić program?

while sprawdza warunek przed każdym wykonaniem bloku, także przed pierwszym. Jeśli warunek jest fałszywy od początku, blok nie wykona się ani razu. Iteracja to jedno wykonanie ciała pętli.

Licznik opisuje bieżący stan. Inicjalizujemy go przed pętlą, odczytujemy w warunku, a wewnątrz zmieniamy tak, by warunek mógł przestać być prawdziwy. Umieszczenie aktualizacji poza pętlą nie pomoże: program nie dojdzie do niej, jeśli pętla się nie kończy.

W pętli zależnej od input() nie znamy zwykle liczby prób. Musimy jednak pobierać nową odpowiedź wewnątrz bloku. Sama możliwość zakończenia nie gwarantuje, że użytkownik poda pasującą odpowiedź. Przypadkowo nieskończony program przerwiesz w terminalu przez Ctrl+C.

Przewidź przed uruchomieniem

counter = 1
total = 0
while counter <= 3:
    total = total + counter
    counter = counter + 1
print(total)
print(counter)
Porównaj wynik i prześledź mechanizm
Sprawdź trzy miejsca: stan początkowy, warunek i zmianę stanu. Zakończenie musi być osiągalne.
Sprawdź trzy miejsca: stan początkowy, warunek i zmianę stanu. Zakończenie musi być osiągalne.

total = 6, counter = 4; blok wykona się trzy razy. Dodaje kolejno 1, 2 i 3. Po zwiększeniu licznika do 4 warunek jest sprawdzany ponownie i daje False.

Wynik kontrolny dla danych z przykładu. Wpisane odpowiedzi użytkownika nie są tutaj powtarzane:

6
4
Przed testem Suma przed Akcja Suma po
counter = 1 0 Dodaj 1 1
counter = 2 1 Dodaj 2 3
counter = 3 3 Dodaj 3 6
counter = 4 6 Wyjdź 6
Model do prześledzenia: porównaj każdy etap z kodem. Etykiety opisują znaczenie danych, nie tylko ich wygląd.

Zmień działający program

Zmień warunek na counter < 3 i przed uruchomieniem przewidź zmianę sumy.

Pierwsza wskazówka

Zachowaj działający punkt wyjścia. Zlokalizuj konstrukcję wskazaną w poleceniu i zmień tylko ten etap. Przed uruchomieniem zapisz oczekiwany efekt.

Porównaj swoją modyfikację
counter = 1
total = 0
while counter < 3:
    total = total + counter
    counter = counter + 1
print(total)

Wynik kontrolny dla danych z przykładu. Wpisane odpowiedzi użytkownika nie są tutaj powtarzane:

3

Znajdź przyczynę problemu

Celowo błędny przykład diagnostyczny. Najpierw postaw hipotezę. Nie kopiuj tej wersji jako poprawnego rozwiązania.

Zamierzone działanie: Wyświetl 1, 2, 3 i zakończ pętlę.

counter = 1
while counter <= 3:
    print(counter)
counter = counter + 1
Trop do diagnozy

Porównaj zamierzony rezultat z typami, nazwami i kolejnością instrukcji. Wskaż pierwsze miejsce, w którym zachowanie odbiega od celu.

Zastosuj w nowej sytuacji

Wskazówka do rozpoczęcia

Sprawdź trzy miejsca: stan początkowy, warunek i zmianę stanu. Zakończenie musi być osiągalne.

Zacznij od przygotowania danych. Pierwsza instrukcja przykładowego rozwiązania:

counter = 3
Rozwiązanie do samodzielnej kontroli
counter = 3
while counter > 0:
    print(counter)
    counter = counter - 1
print("Start")

Wynik kontrolny dla danych z przykładu. Wpisane odpowiedzi użytkownika nie są tutaj powtarzane:

3
2
1
Start

Porównaj dane wejściowe, wynik i powód użycia konstrukcji. Inna wersja kodu jest poprawna, jeśli realizuje te same wymagania.

Co zabierasz do kolejnego programu?

Sprawdź trzy miejsca: stan początkowy, warunek i zmianę stanu. Zakończenie musi być osiągalne.

Bez zaglądania do przykładu wyjaśnij własnymi słowami, jak główna konstrukcja prowadzi od danych do wyniku. Potem sprawdź wyjaśnienie, uruchamiając swój program.