Instrukcje if, elif i else

Preview Mode

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

Instrukcje if, elif i else
Required In Progress

Python • kurs podstawowy • lekcja 10

Instrukcje if, elif i else

Komunikat o wyniku zależy od przedziału: poniżej 50 powtórka, od 50 do 79 zaliczenie, od 80 wyróżnienie.

Twój cel: Napiszesz wybór jednej z kilku ścieżek i przetestujesz wartości graniczne.

Porównania i logika.

Zbuduj model działania

if sprawdza pierwszy warunek; elif sprawdza kolejny tylko wtedy, gdy poprzednie nie pasowały; else obsługuje pozostałe przypadki.

Po warunku jest dwukropek, a blok ma wcięcie — stosuj cztery spacje. W łańcuchu if/elif/else wykonuje się najwyżej jeden blok. Po nim program idzie dalej. Kilka osobnych if to kilka niezależnych decyzji.

Kolejność progów jest częścią rozwiązania. Jeśli najpierw sprawdzisz score >= 50, wynik 90 zatrzyma się na tym warunku i nie dotrze do późniejszego elif score >= 80. Wybieramy rosnące górne granice, aby uniknąć nakładania się decyzji. Zakładamy wynik z zakresu 0–100.

Przewidź przed uruchomieniem

score = 80
if score < 50:
    print("Powtórka")
elif score < 80:
    print("Zaliczenie")
else:
    print("Wyróżnienie")
print("Koniec oceny")
Porównaj wynik i prześledź mechanizm
W łańcuchu wygrywa pierwszy prawdziwy warunek. Wcięcie pokazuje, co należy do danej ścieżki.
W łańcuchu wygrywa pierwszy prawdziwy warunek. Wcięcie pokazuje, co należy do danej ścieżki.
score Pierwszy pasujący blok Komunikat
49 if Powtórka
50 elif Zaliczenie
79 elif Zaliczenie
80 else Wyróżnienie
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

Dodaj osobne wykrywanie braku wyniku None przed porównaniami. Dla braku danych wypisz Brak wyniku.

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ę
score = None
if score is None:
    print("Brak wyniku")
elif score < 50:
    print("Powtórka")
else:
    print("Zaliczone")

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

Brak wyniku

Znajdź przyczynę problemu

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

Zamierzone działanie: Dla 90 punktów pokaż Wyróżnienie.

score = 90
if score >= 50:
    print("Zaliczenie")
elif score >= 80:
    print("Wyróżnienie")
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

W łańcuchu wygrywa pierwszy prawdziwy warunek. Wcięcie pokazuje, co należy do danej ścieżki.

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

temperature = 20
Rozwiązanie do samodzielnej kontroli
temperature = 20
if temperature < 0:
    print("Mróz")
elif temperature < 20:
    print("Chłodno")
else:
    print("Ciepło")

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

Ciepło

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?

W łańcuchu wygrywa pierwszy prawdziwy warunek. Wcięcie pokazuje, co należy do danej ścieżki.

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.

Wyróżnienie i Koniec oceny. Oba warunki są fałszywe, bo 80 nie jest mniejsze od 80. Wykonuje się else, a następnie instrukcja poza całym łańcuchem.

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

Wyróżnienie
Koniec oceny