Python tutorial #4 – Instrukcje warunkowe

Podczas poprzedniej lekcji mogło nasunąć się pytanie, do czego właściwie służą wartości typu prawda/fałsz. Otóż są one kluczem do zrozumienia instrukcji warunkowych.


Cóż to takiego instrukcja waurnkowa?

Nasz program może wykonać pewne operacje tylko wtedy, gdy zostaną spełnione określone przez nas warunki.
Przykładowo jeżeli trafimy wroga w grze komputerowej, wtedy spadnie jego współczynnik zdrowia.

Instrukcje te mogą mieć alternatywę. Jeżeli zostanie spełniony warunek, zostanie wykonany pierwszy blok instrukcji. W przeciwnym razie zostanie wykonany drugi blok w instrukcji. Np. jeżelina koniec pierwszego aktu w Wiedźminie 2 wybraliśmy Iorwetha, zostanie on z nami przez resztę gry. W przeciwnym razie zostaniemy z Rochem.

W programowaniu słowem kluczowym do instrukcji warunkowych jest if. W Pythonie wygląda to następująco:
  1. if - z angielskiego znaczy oczywiście "jeżeli"
  2. warunek - zapisujemy po tym słowie warunek, taki sam, jaki znamy z poprzedniej lekcji
  3. : - na końcu linii używamy dwukropka (podczas pisania pierwszych programów często zdarza się o nim zapomnieć)
  4. instrukcje, poprzedzone wcięciem - nasz edytor tekstu automatycznie zrobi wcięcie po przejściu do następnej linii. W Pythonie wcięcia są konieczne, nie służą jedynie estetyce. Wszystkie instrukcje, które chcemy wykonać tylko wtedy, gdy warunek jest spełniony, należy poprzedzić wcięciem
  5. else: - tutaj możemy zastosować wypadek przeciwny. Jeżeli warunek nie zostałnie spełniony, to wtedy zostaną wykonane następujące instrukcje, tak samo poprzedzone wcięciem.

Zadania bojowe

# zapisujemy instrukcję waurnkową "3 większe od 2". Jeżeli warunek jest prawdziwy, zostanie wypisany stosowny komunikat
if 3 > 2:
    print("3 jest większe od 2")

# to samo, rozszerzone o else. Jeżeli waurnek nie byłby spełniony, wypisany byłby drugi komunikat
if 3 > 2:
    print("3 jest większe od 2")
else:
    print("3 nie jest większe od 2")

# jak zwykle, powinniśmy używać do tego np. zmiennych, a nie stałych wartości
# sprawdziwmy tutaj, czy podana przez użytkownika literka to "a"
literka = input("Podaj literkę a: ")
if literka == a:
    print("Podano a!")
else:
    print("Nie podano a :(")

Bardziej zaawansowane warunki

Znając zasady działania instrukcji warunkowej, możemy pokusić się o bardziej zaawansowane przkłady. Wróćmy na chwilę do przykładów z gier. Przypuśćmy, że jeżeli podamy cyfrę 1, to nasz bohater wyciągnie miecz stalowy. Jeśli nie, to sprawdzimy czy podaliśmy cyfrę 2 - w takim wypadku wyciągniemy miecz srebrny. Jeśli nie, to sprawdzimy, czy 3 - wtedy kuszę. 4 - petardę. I tak dalej, rozumiemy zasadę. Jeżeli nie podamy żadnej z tych 4 cyfr, wyświetlimy komunikat, że skończyły nam sie rzeczy w ekwipunku. Czy do takiego przykładu musimy używać wiele "ifów i elsów"? Nie. Pomoże nam dodatkowe słowo kluczowe - elif (połączenie if i elif). Najlepiej to zobaczyć na przykładzie.
# pobieramy dezycję od gracza
przedmiot = input("Podaj cyferkę: ")
# pamiętajmy, że podany przez użytkownika cyfra jest tekstem, możemy ją skonwertować do inta, lub napisać to tak:
if przedmiot == "1":
    print("Wyciągnięto miecz stalowy!")
elif przedmiot == "2":
    print("Wyciągnięto miecz srebrny!")
elif przedmiot == "3":
    print("Wyciągnięto kuszę!")
elif przedmiot == "4":
    print("Wyciągnięto petardę!")
else:
    print("Skończyły się nam przedmioty")
Jak widać, nie jest to szczególnie skomplikowane. Zachęcam Was do przepisania kodu do własnego edytora i sprawdzenie działania programu. 🙂

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *