Python If/Else dla początkujących - Naucz się instrukcji if, elif i else w Pythonie dzięki przejrzystym, kosmicznym przykładom i praktycznym ćwiczeniom. Idealny przewodnik dla początkujących, którzy chcą kontrolować przepływ swoich programów.

Python If/Else dla początkujących

Wyobraź sobie, że Twój kod to statek kosmiczny. Przy każdym rozwidleniu w planie misji program musi podjąć decyzję: włączyć silniki, utrzymać orbitę, czy przerwać misję. W Pythonie te decyzje podejmowane są za pomocą if, elif i else. Ten artykuł przeprowadzi początkujących przez instrukcje warunkowe z prostymi analogiami, czytelnymi przykładami i krótkimi ćwiczeniami, abyś mógł sterować własnymi misjami w Pythonie.

Czym jest instrukcja if?

Instrukcja if pozwala programowi wykonać akcję tylko wtedy, gdy warunek jest prawdziwy.

fuel_percent = 75

if fuel_percent > 50:
    print("Kontynuuj manewr wejścia na orbitę.")

Jeśli fuel_percent > 50 zwraca True, wykonywany jest wcięty blok kodu. Jeśli zwraca False, Python pomija cały blok.

else — plan awaryjny

Użyj else, aby wykonać kod, gdy warunek if jest fałszywy.

fuel_percent = 30

if fuel_percent > 50:
    print("Kontynuuj manewr wejścia na orbitę.")
else:
    print("Przerwij manewr — wróć na bezpieczną orbitę.")

Pomyśl o tym tak: if to zielone światło dla misji; else to plan awaryjny.

elif — wiele punktów kontrolnych

elif (skrót od "else if") obsługuje więcej niż dwie opcje.

fuel_percent = 50

if fuel_percent > 50:
    print("Pełne spalanie dozwolone.")
elif fuel_percent == 50:
    print("Kontynuuj ostrożnie — graniczny poziom paliwa.")
else:
    print("Przerwij manewr — za mało paliwa.")

Python sprawdza warunki od góry do dołu i wykonuje pierwszą prawdziwą gałąź. Gdy jedna gałąź zostanie wykonana, reszta jest pomijana.

Typowe rodzaje warunków

Oto, czego będziesz używać najczęściej przy pisaniu warunków:

  • Porównania: ==, !=, <, >, <=, >=
  • Operatory logiczne: and, or, not
  • Przynależność: in, not in
  • Prawdziwość: wartości takie jak 0, "", [], None, False są traktowane jako False w warunkach

Przykład łączenia warunków:

temperature_c = -120
communications_online = True

if temperature_c > -100 and communications_online:
    print("Kontynuuj operacje na powierzchni.")
else:
    print("Opóźnij operacje do poprawy warunków.")

Krótki przewodnik po prawdziwości

Nie zawsze potrzebujesz porównania. Python ocenia wartość bezpośrednio:

payloads_ready = []  # pusta lista jest fałszywa

if payloads_ready:
    print("Rozpocznij rozmieszczanie ładunku.")
else:
    print("Brak ładunków — pomiń rozmieszczanie.")

Puste listy, puste łańcuchy znaków, zero i None są oceniane jako False. Praktycznie wszystko inne to True.

Zagnieżdżanie: decyzje w decyzjach

Możesz zagnieżdżać bloki if, ale dbaj o czytelność.

fuel_percent = 65
system_check_passed = False

if fuel_percent > 50:
    if system_check_passed:
        print("Start!")
    else:
        print("Wstrzymaj: kontrola systemów nie powiodła się.")
else:
    print("Przerwij: niewystarczające paliwo.")

Jeśli zagnieżdżenie staje się głębokie, rozważ połączenie warunków lub wyodrębnienie logiki do funkcji.

Łańcuchowe porównania

Python obsługuje wyrażenia typu a < b < c, które są interpretowane intuicyjnie:

altitude = 1200

if 1000 < altitude < 2000:
    print("W bezpiecznym korytarzu.")

To czyta się naturalnie i oszczędza pisania altitude > 1000 and altitude < 2000.

Typowe błędy początkujących (i jak ich unikać)

Złe wcięcia: Python wymaga konsekwentnych wcięć (zalecane 4 spacje). Jeśli kod nie działa zgodnie z oczekiwaniami, sprawdź najpierw odstępy.

Używanie = zamiast ==: Pojedynczy = przypisuje wartość, podwójny == porównuje. Ten błąd przytrafia się każdemu przynajmniej raz.

Zbyt złożone warunki: Rozbij je na nazwane zmienne boolowskie dla przejrzystości.

safe_fuel = fuel >= 60
good_weather = wind_speed < 20

if safe_fuel and good_weather:
    launch = True

Poleganie na równości liczb zmiennoprzecinkowych: Unikaj == z floatami; używaj zakresów lub abs(a - b) < epsilon.

Wskazówka debugowania: wypisuj warunki

Jeśli gałąź nie wykonuje się, wypisz wartości, które testujesz:

print("paliwo:", fuel_percent, "system:", system_check_passed)

Lub używaj asercji podczas rozwoju:

assert isinstance(fuel_percent, (int, float)), "paliwo musi być liczbą"

Krótki praktyczny przykład — prosty planer misji

def launch_decision(fuel, weather, comms):
    if fuel < 40:
        return "Przerwij: niski poziom paliwa"
    elif not comms:
        return "Przerwij: komunikacja offline"
    elif weather == "storm":
        return "Opóźnij: zła pogoda"
    else:
        return "Start dozwolony"

print(launch_decision(80, "clear", True))  # -> Start dozwolony

Ćwiczenia (spróbuj sam)

1. Sprawdzanie paliwa: Napisz if/else, który wypisuje "Start" jeśli fuel >= 75, w przeciwnym razie "Tankuj".

2. Lista kontrolna dokowania: Mając dock_ready (bool) i crew_onboard (int), wypisz "Dokuj" tylko jeśli dock_ready jest True i crew_onboard >= 3.

3. Wskaźnik temperatury: Wypisz "Za zimno", "Optymalnie" lub "Za gorąco" w zależności od zakresów temperatury: < -100, -100..50, > 50.

Podsumowanie

Instrukcje warunkowe to sposób, w jaki Twoje programy podejmują decyzje. Zacznij od prostych bloków if/else, dodaj elif gdy potrzebujesz więcej gałęzi i dbaj o czytelność warunków. Gdy opanujesz te podstawy, będziesz gotowy do obsługi bardziej złożonej logiki misji w swoich projektach Pythona.