Operatory arytmetyczne
Każdy język programowania – Python nie jest tu wyjątkiem – pozwala robić obliczenia arytmetyczne. Każde podstawowe działanie zapisuje się intuicyjnie:
- znak + to dodawanie,
- znak - to odejmowanie,
- znak * to mnożenie,
- znak / to dzielenie.
Znaki działań nazywamy operatorami. Stosujemy je intuicyjnie:
Oto przykład:
# definiujemy zmienną, w której przechowujemy aktualny rok
actual_year = 2018
# definiujemy zmienną, w której przechowujemy rok wydania
# pierwszej wersji Pythona
python_year_of_birth = 1991
# a tutaj liczymy ile Python ma już lat
# w tym celu użyjemy operatora - (minus)
python_age = actual_year - python_year_of_birth
# co nam po danych, których nie możemy przeczytać?
print(“Python ma już”, python_age, “lat.”)
Zobacz przykład operatorów arytmetycznych:
Logiczne, prawda?
Oto kolejny przykład:
# co z tego wyjdzie?
my_variable = 100 / “ojej!”
Po uruchomieniu programu dostaniemy następujący błąd:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for /: 'int' and 'str'
Co tu się wydarzyło?
Python próbował podzielić liczbę 100 przez napis “ojej!”. Czy da się to policzyć? Oczywiście, że nie! Został zatem zgłoszony błąd. Przeczytaj komunikat dokładnie, a konkretnie jego ostatnią linijkę. Oznacza ona, że Python nie potrafi użyć operatora dzielenia na danych typu int i str.
Bardzo ciekawym operatorem, dostępnym dla programisty jest operator %, czyli modulo. Jest to reszta z dzielenia. Jeśli zatem podzielimy 16 / 5, to zgodnie z zasadami arytmetyki, otrzymamy wynik 3 i 1 reszty. W Pythonie możemy zapisać takie działanie następująco:
# liczenie modulo, czyli dzielenie z resztą
my_val = 16 % 5
print(my_val)
Program wyświetli nam na ekranie liczbę 1.
Zwiększanie wartości zmiennej
Wyobraź sobie, że piszesz grę komputerową. Gdy zestrzelisz w niej statek wroga, dostajesz 100 punktów. To oznacza, że do Twojego aktualnego wyniku powinna zostać dodana liczba 100. Jak to zrobić? To bardzo proste:
# zdefiniuj score
score = 0
# dodaj 100 punktów do aktualnego wyniku.
score = score + 100 # score to nazwa zmiennej,
# w której przechowujemy wynik gry
print(score)
Oto przykład zwiększanie wartości zmiennej
Taki zapis oznacza, że do zmiennej score podstaw aktualną wartość zmiennej score i dodaj jeszcze 100. Ten sam efekt można uzyskać używając zapisu skróconego:
score += 100
Działa tak samo, jak poprzedni przykład. Operator += jest tzw. operatorem inkrementacji. Oprócz operatora inkrementacji istnieje również operator dekrementacji -=, który odejmuje pewną wartość od aktualnej wartości zmiennej.
Operatory tekstowe
Jak podpowiada Wam intuicja? Czy można dodawać do siebie napisy? Co się stanie, gdy do napisu “Star” dodamy napis “Wars”?
Oto przykład:
title = "Star" + "Wars"
print(title)
Oto przykład operatorów tekstowych:
Wynikiem będzie napis “StarWars”. Zatem można!
A czy można pomnożyć napis przez liczbę?
Jeśli masz odwagę, spróbuj wykonać następujący kod i zobacz, co się stanie:
Oto przykład mnożenie tekstu przez liczbę:
# na własną odpowiedzialność! ;-)
spell = "Bloody Mary " * 3
print(spell)
Operatory logiczne
Komputer obsługuje działania logiczne, to znaczy takie, które dają w wyniku wartość True albo False.
znak | opis | przykład | wynik działania |
---|---|---|---|
== | znak równości | 2 == 5 | False |
!= | znak nierówności | 2 != 5 | True |
> | większe niż | 1 > 6 | False |
< | mniejsze niż | 1 < 6 | True |
>= | większe równe niż | 2 >= 3 | False |
<= | mniejsze równe niż | 2 <= 2 | True |
and | logiczne "i" | (2 == 2) and (3 > 2) | True |
or | logiczne "lub" | (2 == 2) or (3 > 2) | True |
not | zaprzeczenie | !(2 == 3) | True |
Zadania
Zadanie 1
Zajrzyj do poprzedniego rozdziału: definiowaliśmy tam zmienne product, w której przychowywaliśmy nazwę towaru i net_price, która zawierała cenę netto produktu. Policz cenę brutto produktu, przyjmując stawkę VAT 23% (czyli 0,23). Wynik zapisz w zmiennej gross_price. Następnie, używając instrukcji print, wyświetl pełną informację o produkcie: nazwę, cenę netto i brutto.
Przejdź do pierwszego zadania:
Zadanie 2
Zajrzyj do kodu. Znajdziesz tam następujące zmienne:
- w_lewym_reku_mam_dlugopis = False
- w_lewym_reku_mam_telefon = True
- w_prawym_reku_mam_kubek = True
- w_prawym_reku_mam_lyzke = False
Następnie wykonaj odpowiednie działania logiczne i zapisz je do zmiennych, a potem wyświetl wyniki na ekranie:
- w lewym ręku mam długopis oraz w prawym kubek
- w prawym ręku mam kubek lub w prawym łyżkę
- w lewym ręku nie mam telefonu
Przejdź do drugiego zadania:
Zadanie 3
Zadeklaruj zmienną number, nadaj jej dowolną wartość, która jest liczbą naturalną. Następnie sprawdź, czy liczba jest parzysta: jeśli wynik dzielenia modulo 2 będzie 0 – jest, jeśli 1 – nie. Wyświetl komunikat, który będzie zawierał opis działania: “ % 2 = ”
Przejdź do trzeciego zadania:
Zadanie 4
Zadeklaruj zmienną number, nadaj jej dowolną wartość liczbową. Spróbuj podzielić zmienną przez zero. Zapoznaj się z komunikatem błędu.
Przejdź do czwartego zadania: