Instrukcje warunkowe

Dodaj zakładkę 
Autor: 
Trudność: 
1
Typ rozwiązania: 
Tekst
Dziedzina: 

Instrukcje warunkowe pozwalają podejmować decyzję w zależności od sytuacji.

Pokażmy to od razu na jakimś użytecznym przykładzie, zróbmy (jak to się robi zazwyczaj) prosty kalkulator, który potrafi zrobić "coś" z dwoma liczbami. Podany kod jest tak zwanym pseudokodem.

print("Podaj pierwsza liczbe i nacisnij Enter")
pierwsza = wprowadz_liczbe()

print("Podaj operator i nacisnij Enter")
operator = wprowadz_znak()

print "Podaj druga liczbe i nacisnij Enter"
druga = wprowadz_liczbe()

if (operator == "+"){
    return pierwsza + druga}
elif  (operator == "-"){
    return pierwsza - druga}
elif (operator == "*"){
    return pierwsza * druga}
elif (operator == "/"){
    return pierwsza / druga}
elif (operator == "**"){
    return pierwsza ** druga}
elif (operator == "%"){
    return pierwsza % druga}
else{
    return "ERROR!"}

Być może nie wiesz do czego służą znaki ==, ** oraz %. Jeśli tak, warto byś poszukał w internecie więcej informacji o operatorach. Znak == porównuje dwie rzeczy (nie można tego robić przez pojedyncze = gdyż w ten sposób przypisuje się jakąś wartość do zmiennej), znak ** podnosi do potęgi, a znak % to dzielenie modulo (zwraca nam resztę z dzielenia liczb całkowitych). Te operatory znaczą zazwyczaj to samo we wszystkich językach, ale warto byś sprawdził sam jak jest w tym, w którym zdecydowałeś się programować.

Przechodząc do sedna: użytkownik wpisuje  dwie liczby i jakiś operator. Następnie program dochodzi do instrukcji warunkowej "if", następuje sprawdzenie czy operator wpisany przez użytkownika to "+" jeśli tak, to wykonuje się polecenie wypisania na ekran wyniku dodawania i program kończy działanie, jeśli nie jest to znak "+" sprawdzane są kolejne warunki w instrukcji "elif" (występuje tylko w niektórych językach, często występuje "else if" lub podobna) czyli czy operator to "-", jeśli tak, to wyświetlamy wynik odejmowania i program kończy działanie itd. Jeśli natomiast żaden z powyższych warunków nie był spełniony możemy też w jakiś sposób zareagować - służy do tego instrukcja "else", nie podajemy w niej żadnych warunków, ponieważ wykonuje się ona w przypadku kiedy żaden z poprzednich warunków nie został spełniony. Co bardzo istotne - w przypadku tego typu konstrukcji jeśli program natknie się na pasujący warunek wykonuje tylko i wyłącznie kod zawarty w tej instrukcji, wszyskie pozostałe są pomijane.

Twoim zadaniem będzie wygranie w grze w papier, kamień i nożyce. Masz bardzo ułatwione zadanie, ponieważ przeciwnik ma z góry ustalony plan swoich ruchów, który udało się nam zapamiętać i zapisać poniżej. Powodzenia!

 ['p', 'p', 'n', 'n', 'n', 'p', 'n', 'n', 'n', 'k', 'k', 'k', 'p', 'n', 'n', 'k', 'n', 'p', 'n', 'k', 'k', 'k', 'n', 'n', 'n', 'n', 'p', 'k', 'n', 'p', 'p', 'k', 'k', 'k', 'k', 'p', 'n', 'n', 'n', 'n', 'p', 'k', 'k', 'n', 'k', 'p', 'k', 'n', 'k', 'n', 'n', 'k', 'n', 'p', 'n', 'p', 'n', 'p', 'k', 'k', 'k', 'k', 'n', 'k', 'p', 'n', 'n', 'p', 'p', 'k', 'n', 'n', 'k', 'n', 'n', 'k', 'k', 'p', 'k', 'k', 'p', 'p', 'p', 'n', 'n', 'n', 'n', 'p', 'p', 'n', 'n', 'n', 'p', 'k', 'n', 'n', 'k', 'n', 'n', 'n']

Wynik podaj w formie jednego napisu, czyli np. nnkkkpnpkpnkn..., który pozwoli Ci na zwycięstwo za każdym razem.

Nierozwiązane