Python Instrukcje warunkowe: IF…Else, ELIF i Switch Case
⚡ Inteligentne podsumowanie
Python Instrukcje warunkowe sterują przepływem programu, wykonując określone bloki kodu tylko wtedy, gdy wyrażenia boolowskie zwracają wartość true. Obejmują one if, else, elif, zagnieżdżony if, operator trójargumentowy oraz dopasowywanie wzorców strukturalnych, co zapewnia przejrzystą, opartą na decyzjach logikę.

Czym są instrukcje warunkowe Python?
Instrukcje warunkowe w Python Wykonują różne obliczenia lub działania w zależności od tego, czy dane ograniczenie boolowskie jest prawdą, czy fałszem. Pozwalają programowi podejmować decyzje i podążać różnymi ścieżkami zamiast wykonywać każdy wiersz po kolei. Python, instrukcje warunkowe są obsługiwane przez if Instrukcja i jej odpowiedniki: else, elif i zagnieżdżone if.
Czym jest Python Jeśli oświadczenie?
Python instrukcja if Służy do operacji podejmowania decyzji. Zawiera kod, który jest uruchamiany tylko wtedy, gdy warunek podany w instrukcji if jest spełniony. Jeśli warunek jest fałszywy, zamiast niego uruchamiana jest opcjonalna instrukcja else, przechowująca kod warunku else. Aby wykonać działanie w oparciu o jeden warunek, gdy inny nie jest spełniony, należy użyć Python instrukcja if-else.
Python if Składnia instrukcji:
if expression:
statement
else:
statement
Python jeśli...else Schemat blokowy
Powyższy schemat blokowy pokazuje, jak sterowanie przepływa przez instrukcję if-else. Zobaczmy przykład Python instrukcja if-else w działaniu:
# Example file for working with conditional statements
def main():
x, y = 2, 8
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code Linia 3: Definiujemy dwie zmienne x, y = 2, 8.
- Code Linia 4: Instrukcja if sprawdza warunek x < y, który jest Prawdziwy w tym przypadku.
- Code Linia 5: Zmienna st jest ustawiona na „x jest mniejsze niż y”.
- Code Linia 6: Wiersz print(st) wyprowadza wartość st, która brzmi „x jest mniejsze od y”.
Co się dzieje, gdy warunek „jeśli” nie jest spełniony
Kontynuując poprzedni przykład, zobaczmy, co się stanie, gdy warunek if w Python nie jest spełniony. Gdy warunek jest fałszywy i nie istnieje żadna gałąź else, wcięty kod jest całkowicie pomijany.
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code Linia 3: Definiujemy dwie zmienne x, y = 8, 4.
- Code Linia 4: Instrukcja if sprawdza warunek x < y, który jest Fałszywy w tym przypadku.
- Code Linia 5: Zmienna st jest NIE ustaw na „x jest mniejsze niż y”.
- Code Linia 6: Wiersz print(st) próbuje wydrukować zmienną, która nigdy nie została zadeklarowana, więc Python podnosi A NazwaBłąd.
Jak używać warunku „else”
Aby uniknąć powyższego błędu, możesz dodać warunek else. Warunek else jest używany, gdy trzeba ocenić jedno polecenie na podstawie innego. Jeśli jeden warunek jest fałszywy, blok else zapewnia alternatywną ścieżkę, dzięki czemu program nadal generuje wynik.
Przykład:
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code Linia 3: Definiujemy dwie zmienne x, y = 8, 4.
- Code Linia 4: Instrukcja if sprawdza warunek x < y, który jest Fałszywy w tym przypadku.
- Code Linia 6: Przepływ sterowania programem przechodzi do warunku else.
- Code Linia 7: Zmienna st jest ustawiona na „x jest większy niż ty.
- Code Linia 8: Wiersz print(st) wyprowadza wartość st, która brzmi „x jest większe od y”.
Kiedy warunek „else” nie działa
Warunek else nie zawsze daje pożądany rezultat. Może on wydrukować błędny wynik, gdy występuje błąd w logice programu. Dzieje się tak zazwyczaj, gdy trzeba uzasadnić więcej niż dwa polecenia lub warunki w programie. Przykład pomoże Ci zrozumieć tę koncepcję.
Tutaj obie zmienne są takie same (8, 8), ale wynik programu jest taki sam „x jest większe od y” który jest ŹLEDzieje się tak, ponieważ program sprawdza pierwszy warunek (warunek if), a gdy ten się nie powiedzie, wyświetla drugi warunek (warunek else) jako domyślny. W następnym kroku pokażemy, jak naprawić ten błąd.
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
Jak korzystać z warunku „elif”
Aby naprawić poprzedni błąd spowodowany warunkiem else, możemy użyć Elif Instrukcja. Używając warunku elif, instruujesz program, aby przetestował trzecią możliwość, gdy pierwszy warunek jest fałszywy. Możesz połączyć wiele warunków elif, aby sprawdzić czwartą, piątą i kolejne możliwości w kodzie.
Przykład:
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
elif(x == y):
st = "x is same as y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code Linia 3: Definiujemy dwie zmienne x, y = 8, 8.
- Code Linia 4: Instrukcja if sprawdza warunek x < y, który jest Fałszywy w tym przypadku.
- Code Linia 6: Przepływ sterowania programem przechodzi do warunku elif. Sprawdza on, czy x == y, co jest prawdą.
- Code Linia 7: Zmienna st jest ustawiona na „x jest sama, jak y. ”
- Code Linia 10: Sterowanie programem opuszcza instrukcję if (nie dochodzi do instrukcji else) i wyświetla st. Na wyjściu pojawia się komunikat „x jest takie samo jak y”, co jest poprawne.
Jak wykonać instrukcję warunkową przy użyciu minimalnej liczby instrukcji Code
Teraz, gdy możesz pisać pełne bloki if-elif-else, Python pozwala skondensować prosty warunek do jednego wiersza. Zamiast pisać oddzielny kod dla każdej gałęzi, możesz użyć wyrażenie trójskładnikowe (warunkowe).
Składnia:
value_if_true if condition else value_if_false
Przykład:
def main():
x, y = 10, 8
st = "x is less than y" if (x < y) else "x is greater than or equal to y"
print(st)
if __name__ == "__main__":
main()
- Code Linia 2: Definiujemy dwie zmienne x, y = 10, 8.
- Code Linia 3: Zmienna st jest ustawiana na „x jest mniejsze niż y”, jeśli x < y; w przeciwnym wypadku staje się „x jest większe lub równe y”. Ponieważ tutaj x > y, st staje się drugą wartością.
- Code Linia 4: Wyświetla wartość st i zwraca poprawny wynik.
Python Zagnieżdżona instrukcja if
Zagnieżdżona instrukcja if umieszcza jedną instrukcję if w drugiej, co jest przydatne, gdy decyzja zależy od drugiego warunku. Poniższy przykład demonstruje zagnieżdżoną instrukcję if w Python który oblicza statekping koszt zależy od kraju i całkowitej wartości zamówienia.
total = 100
# country = "US"
country = "AU"
if country == "US":
if total <= 50:
print("Shipping Cost is $50")
elif total <= 100:
print("Shipping Cost is $25")
elif total <= 150:
print("Shipping Cost is $5")
else:
print("FREE")
if country == "AU":
if total <= 50:
print("Shipping Cost is $100")
else:
print("FREE")
Odkomentuj wiersz 2 w powyższym kodzie, usuń komentarz z wiersza 3 i uruchom kod ponownie, aby zobaczyć, jak dane wyjściowe zmienią się dla innego kraju.
Przełącz opis przypadku w Python
Czym jest polecenie Switch?
Instrukcja switch to wielotorowa instrukcja rozgałęzienia, która porównuje wartość zmiennej z wartościami określonymi w instrukcjach case. Przez wiele lat Python język nie posiadał instrukcji switch, więc programiści zaimplementowali to samo zachowanie Python słownik mapaping.
Przykład użycia mapy słownikowejping:
def switch_example(argument):
switcher = {
0: "This is Case Zero",
1: "This is Case One",
2: "This is Case Two",
}
return switcher.get(argument, "nothing")
if __name__ == "__main__":
argument = 1
print(switch_example(argument))
Przełącz obudowę z dopasowaniem (Python 3.10 i Later)
Ponieważ Python 3.10 (wydany w październiku 2021 r.), Python zapewnia natywny etui na zapałki Instrukcja, znana jako dopasowywanie wzorców strukturalnych. Oferuje ona czystą i czytelną alternatywę dla długich łańcuchów elif i podejścia słownikowego pokazanego powyżej.
def switch_example(argument):
match argument:
case 0:
return "This is Case Zero"
case 1:
return "This is Case One"
case 2:
return "This is Case Two"
case _:
return "nothing"
if __name__ == "__main__":
print(switch_example(1))
Podkreślenie (_) pełni funkcję przypadku domyślnego, dopasowując każdą wartość nieobsługiwaną przez wcześniejsze przypadki, tak jak wartość domyślna w tradycyjnym poleceniu switch.
if vs elif vs else: szybkie porównanie
Użyj tego porównania, aby zdecydować, która struktura warunkowa pasuje do Twojej logiki podejmowania decyzji.
| Zestawienie sprzedaży | Cel | Kiedy użyć |
|---|---|---|
| if | Uruchamia blok, gdy warunek jest spełniony | Pojedyncza decyzja typu tak/nie |
| Jeśli inaczej | Zapewnia rozwiązanie awaryjne, gdy warunek jest fałszywy | Dwa wzajemnie wykluczające się wyniki |
| Elif | Testuje dodatkowe warunki w sekwencji | Trzy lub więcej możliwości |
| Zagnieżdżone if | Umieszcza if wewnątrz innego if | Decyzja, która zależy od drugiego warunku |
| Potrójny | Kondensuje if-else do jednego wiersza | Proste przypisanie wartości |
| etui na zapałki | Dopasowuje wartość do wielu wzorców | Rozgałęzienie wielokierunkowe (Python 3.10 +) |







