Rozdział 9 · Słuchaj mojego rozkazu!

Kilka if ≠ if/elif/else

Bardzo częsty problem wśród początkujących: kilka oddzielnych if może zadziałać wszystkie naraz, a w łańcuchu elif — tylko jeden.

Blok poleceń i niewidoczny wskaźnik

Gałęzia warunków może zawierać wiele poleceń, jak już widzieliśmy. Przydatne Wyobraź sobie, że Python trzyma niewidzialny „wskaźnik” if wybiera, na którą gałąź „wejść”.

To uproszczony model mentalny
Wewnątrz komputera istnieje podobna idea (nazywa się ją „przepływem sterowania” — control flow), ale do naszych celów wystarczy ten prosty obraz: polecenia idą po kolei, a if/elif/else tymczasowo kieruje przepływ do jednej z gałęzi.

Przepływ sterowania

Przepływ sterowania — to kolejność, w jakiej faktycznie wykonywane są polecenia programu. Do tej rozdziału była to prawie zawsze prosta linia od góry do dołu. Teraz może się rozwijać. W rozdziale 10 nauczy się też, jak cofnąć się — Powtarzaj się.

Wiele if NIE jest tym samym co if/elif/else

To jedno z najczęstszych nieporozumień wśród początkujących — przyjrzyjmy się konkretnemu przykładowi:

Niezależne if kontra łańcuch if/elif
Dwa NIEZALEŻNE if
temperature = 30

if temperature > 20:
    print(„ciepło”)

if temperature > 25:
    print(„gorący”)

# OBA warunki są prawdziwe –
# OBIE linie się wydrukują!
Łańcuch if / elif
temperature = 30

if temperature > 25:
    print(„gorący”)
elif temperature > 20:
    print(„ciepło”)

# tylko JEDNA gałąź
# w tym łańcuchu wykonam
Co używać dzisiaj: Każdy samodzielny if jest sprawdzana niezależnie od pozostałych — Python może wykonać kilka takich bloków z rzędu. I w łańcuchu if/elif/else wykonuje się DOKŁADNIE JEDNA gałąź — pierwsza prawdziwa. To bardzo częste zamieszanie u początkujących: jeśli potrzebny jest „wybór jednej opcji spośród kilku” — potrzebny jest dokładnie łańcuch elif, a nie kilka osobnych if.
★★ Zadanie samodzielne
Znajdź różnicę

Weź score = 85. Zbuduj wariant z trzema niezależnymi if (score > 50, score > 70, score > 90) oraz wariant z łańcuchem elif-, w tych samych warunkach. Porównaj, ile linii wydrukuje każdy wariant.

Praktyka: Niezależny if kontra elif
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji
Otwórz praktykę →