Rozdział 9 · Słuchaj mojego rozkazu!

Zagnieżdżone warunki

Warunek w warunku — i kiedy warto uprościć go jednym and zamiast głębokiego zagnieżdżenia.

Stan w stanie

Wewnątrz jednostki if może być jeszcze jeden if nazywa się warunek zagnieżdżony. Rozwiążemy zadanie logowania do konta w całości, jednym schematem.

STARThas_account?TAKpassword_ok?TAK„Witamy”NIE„Nieprawidłowe hasło”NIE„Zarejestruj się”KONIEC
Warunek zagnieżdżony: password_ok sprawdza się tylko wewnątrz has_account = True gałęzi
vlozhennye_usloviya.py
has_account = True
password_ok = False

if has_account:
    if password_ok:
        print(„Witamy”)
    else:
        print(„Nieprawidłowe hasło”)
else:
    print(„Zarejestruj się”)

Poziomy wcięć = poziomy zagnieżdżenia

Każdy dodatkowy poziom wcięcia oznacza głębszy poziom warunkowej kontroli:

urovni_otstupa.py
# Poziom 0
if has_account:
    # Poziom 1
    if password_ok:
        # Poziom 2
        print("...")
Nie angażuj się w głębokie zagnieżdżenie
Trzy lub cztery poziomy zagnieżdżonych if w rzędzie („piramida” and – jak pokazano poniżej.

Upraszczamy: zagnieżdżenie → and

Warunki zagnieżdżenia vs jednym and
Zagnieżdżone if
if has_account:
    if password_ok:
        print("Login")
Jeden if z and
if has_account and password_ok:
    print("Login")
Co używać dzisiaj: Obie opcje są poprawne i w tym prostym przypadku dają taki sam rezultat. Wersja zagnieżdżona jest wygodna, gdy każda gałąź potrzebuje SWOJEGO osobnego przetwarzania (na przykład różne komunikaty dla „brak konta” i „niepoprawne hasło”, jak w przykładzie poniżej). Jeden and jest bardziej zwarta, gdy obie gałęzie są potrzebne tylko razem — wybór między nimi zależy od czytelności, a nie od „poprawności”
★★ Zadanie samodzielne
Trzeci poziom

Dodaj trzeci poziom zagnieżdżenia: wewnątrz „Witamy” sprawdź również is_active (konto nie zablokowane) — jeśli False, wyświetl „Konto zablokowane”.

Praktyka: Warunki zagnieżdżone
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji
Otwórz praktykę →