PYI_RY_W13_M04 Instrukcja warunkowa
Instrukcja match/case
W wersji 3.10 języka Python została wprowadzona instrukcja match/case. Instrukcja ta jako argument przyjmuje wyrażenie i porównuje jego wartość ze zdefiniowanymi schematami. Jeśli wyrażenie jest zgodne ze zdefiniowanym schematem, wykonywane są związane z nim instrukcje.
Instrukcja match/case zapisana za pomocą języka Python wygląda następująco:
Instrukcja match/case pobiera obiekt (numer_ucznia), testuje go względem jednego lub więcej wzorców dopasowania (case 1, case 2 etc.) i wykonuje akcję, jeśli znajdzie dopasowanie.
Po każdym słowie kluczowym case następuje wzorzec dopasowania.
Python wykonuje dopasowania, przechodząc przez listę przypadków od góry do dołu. Przy pierwszym dopasowaniu Python wykonuje instrukcje w odpowiadającym im bloku przypadków, a następnie przeskakuje na koniec bloku dopasowania i kontynuuje dalszą część programu. Oznacza to, że po znalezieniu pierwszego pasującego przypadku, kończy się działanie instrukcji match/case.
Załóżmy, że chcemy napisać program, który wyświetli komunikat Wakacje!, jeśli użytkownik poda numer wakacyjnego miesiąca (zakładamy, że wakacyjne miesiące to lipiec i sierpień) lub To nie wakacje :-(, jeśli poda numer jakiegokolwiek innego miesiąca.
Łączenie warunków
Używając operatora |, oznaczającego alternatywę, możemy łączyć warunki.
Domyślny przypadek
W instrukcji match/case możemy podać przypadek _, który oznacza „w każdym innym przypadku”, czyli jeżeli wartość zmiennej podanej do sprawdzenia nie będzie równa żadnemu z ustawionych przypadków, program wykona fragment kodu zawarty w poleceniu.
Przeanalizuj przykład: