Rozdział 9 · Słuchaj mojego rozkazu!

Jeśli tak się stanie, wykonuj polecenie!

Pierwsze prawdziwe stwierdzenie warunkowe: kod, który wykonuje się tylko w określonych okolicznościach, najpierw jako schemat, potem na Python.

najpierw schemat, kod

Weźmy problem: "jeśli temperatura spadnie poniżej zera, pokaż "szron". Przed pisaniem Python, rozwiążmy to jako schemat:

STARTtemperaturetemperature <0?TAK„mróz”NIEKONIEC
Najpierw rozwiązujemy problem jako schemat, a następnie przenosimy go do Python

Gdzie tu jest pytanie? Która gałąź zostanie wykonana? Co się stanie, jeśli warunek jest fałszywy? Tylko Gdy odpowiedzi są jasne, zmieniamy schemat na Python.

Pierwsza if

if_prostoj.py
temperature = -5

if temperature < 0:
    print(„Frost”)

Wyjaśnijmy to słowami:

Pełny przykład z obiema gałęziami

if.py
age = 20

if age >= 18:
    print(„Dostęp dozwolony.”)
STARTtemperaturetemperature <0?TAK„Frost”NIEKontynuacja programuKONIEC
Pierwszym if jest False blok jest po prostu pomijany, wykonanie idzie dalej

Jeśli warunek jest fałszywy, if łatwe pomija się — program nie "zawiesza się", nie wyświetla błędu, lecz kontynuuje, jakby nic się nie stało. Fałsz Warunek ten nie oznacza "program się zatrzymał": kontynuuje się od następnego kroku.

Wcięcie — to część programu

W Python wgłębienie to nie tylko projekt piękna. To wgłębienie determinuje Python Które wiersze należą do bloku if, a które już nie:

blok_komand.py
if temperature < 0:
    print(„Na zewnątrz jest lodowato.”)
    print(„Załóż ciepłą kurtkę.”)
    print(„Nie zapomnij rękawiczek.”)

print(„Program się skończył”)

Pierwsze trzy komendy mają takie samo wcięcie – wszystkie należą do bloku if. Ostatni łańcuch znaków nie ma wcięcia — zostanie spełniony zawsze, niezależnie od stanu.

Zalecane: 4 przestrzenie
Standardowy odstęp w Python — 4 spacje na jeden poziom zagnieżdżenia. Nie mieszaj spacji i tabulacji w tym samym pliku — Python w niektórych przypadkach uzna to za błąd.

IndentationError

Jeśli zapomnisz o wcięciu, Python nie zrozumie, co odnosi się do bloku:

indentationerror.py
if age >= 18:
print("OK")
# IndentationError: expected an indented block after 'if' statement

Poprawka: dodaj wcięcie przed print.

Inaczej?" — if/else

else określa blok kodu, który zostanie wykonany, jeśli okazało się to nieprawdą:

if_else.py
age = 15

if age >= 18:
    print(„Dostęp dozwolony.”)
else:
    print(„Dostęp odrzucony – masz jeszcze mniej niż 18 lat.”)
STARTageage >= 18?TAK„Dostęp dozwolony”NIE„Dostęp zabroniony”KONIEC
if/else: dwóch ścieżek, jedna z nich zostanie spełniona i obie zbiegną się jeszcze bardziej

Gałęzie ponownie się łączą

Która gałąź zostanie wykonana, if lub else — wtedy program zwykle trwa dalej następny krok. Na powyższym diagramie widać to po zbiegu strzałek do wspólnego punktu przed КОНЕЦ.

Praktyka: pierwszy if, wcięcie i if/else
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji
Otwórz praktykę →