PYI_RY_W13_M04 Instrukcja warunkowa
Instrukcję warunkową można zapisać przy pomocy następującego zdania: jeśli (warunek), to wykonaj (instrukcja).
W języku Python będzie to wyglądało następująco:
Jest to najprostsza postać instrukcji warunkowej. Za chwilę poznasz jej rozszerzoną wersję.
Jeśli warunek jest spełniony (prawdziwy), to zostaną wykonane instrukcje zapisane w bloku rozpoczynającym się w kolejnym wierszu. Instrukcje w bloku są wyróżnione dodatkowym wcięciem. Jeśli natomiast warunek nie jest spełniony, to instrukcje w bloku nie są wykonywane, a program przechodzi do kolejnej instrukcji po instrukcji warunkowej..
Definiowanie warunków
Warunek może zwracać jedną z dwóch wartości: prawda (True) lub fałsz (False).
Instrukcje znajdujące się po warunku zostaną wykonane tylko wtedy, kiedy warunek zwróci True.
Gdy w programie wykonujemy operację porównania, zwracane są wartości logiczne True albo False, np.:
Do przypisania zmiennej pewnej wartości używa się operatora =, natomiast do porównania ze sobą dwóch zmiennych służy podwójny znak równości ==. Operator „różne od” zapisujemy jako !=.
Przykładowa instrukcja warunkowa i jej wynik może wyglądać tak:
Warunki złożone
Warunki możemy zagnieżdżać:
Możemy uprościć kod, wykorzystując operatory logiczneoperatory logiczne, na przykład:
Operatorem koniunkcji jest and, natomiast operatorem alternatywy jest or.
Rozbudowana instrukcja warunkowa
Możemy w łatwy sposób zdefiniować instrukcję, która zostanie wykonana, kiedy warunek nie zostanie spełniony. Służy do tego słowo kluczowe .else
W języku Python istnieje również słowo kluczowe , które jest połączeniem operatorów elif i elseif. Możemy za jego pomocą konstruować złożone instrukcje warunkowe, na przykład:
Po słowie kluczowym zapisujemy instrukcje (jedną lub kilka), które powinny zostać wykonana, jeśli żaden z warunków nie jest spełniony.else
Napisz program, który wczyta liczbę naturalną i sprawdzi czy kończy się ona cyfrą 5. Program powinien wypisać stosowny komunikat.
Dane:
a - liczba naturalna
Wynik:
Napis TAK jeśli liczba kończy się cyfrą 5 lub NIE w przeciwnym wypadku.
Przykładowy problem (dla zainteresowanych)
Przyjrzyjmy się bardziej rozbudowanemu przykładowi. Wyobraźmy sobie taką sytuację: pewna fundacja przygotowuje informacje dla domów tymczasowych na temat tego, jak powinno się karmić koty. Po konsultacji z weterynarzem ustalono, że kot powinien zjadać około 60 kcal na każdy kilogram ciała. Jednak weterynarz wskazał, że sytuacja ma się inaczej w przypadku kotek, które są kotne lub karmią już młode.
Zapotrzebowanie kaloryczne kotek, które liczą ponad dwa lata oraz są w ciąży jest dwa razy większe. Podobnie kotek, które karmią jednego kociaka. Trzy razy większe zapotrzebowanie mają kotki, które karmią dwa kocięta. Te, które karmią od trzech do czterech, powinny zjadać cztery razy więcej kalorii. Pięciokrotność zapotrzebowania powinny zjadać zaś kotki, które karmią więcej niż pięć kociąt lub mają mniej niż dwa lata.
Korzystając z samej instrukcji warunkowej, musielibyśmy stworzyć szereg warunków:
Wykorzystując operatory logiczne, możemy znacznie uprościć kod obliczający, ile powinna zjeść kotka:
Wykorzystując rozbudowaną instrukcję warunkową, otrzymamy taki kod:
Słownik
operator pozwalający na wykonywanie podstawowych operacji algebry Boole'a takich jak koniunkcja, alternatywa czy negacja