Operatory arytmetyczne, logiczne i porownania w Pythonie
ð Podstawa programowa: II.1Python udostepnia pelny zestaw operatorow arytmetycznych do wykonywania obliczen matematycznych. Kazdy operator ma okreslony priorytet (kolejnosc wykonywania), podobnie jak w matematyce.
() → Potegowanie ** → Mnozenie/Dzielenie * / // % → Dodawanie/Odejmowanie + -. Pamietaj: w razie watpliwosci uzywaj nawiasow!
+ - dodawanie: 5 + 3 daje 8- - odejmowanie: 10 - 4 daje 6* - mnozenie: 3 * 7 daje 21/ - dzielenie (wynik zmiennoprzecinkowy): 7 / 2 daje 3.5// - dzielenie calkowite (zaokraglenie w dol): 7 // 2 daje 3% - reszta z dzielenia (modulo): 7 % 2 daje 1** - potegowanie: 2 ** 10 daje 1024Operatory porownania zwracaja wartosc logiczna True (prawda) lub False (falsz). Sa kluczowe przy budowaniu warunkow.
== - rowne (uwaga: dwa znaki rownosci!)!= - rozne<, > - mniejsze, wieksze<=, >= - mniejsze lub rowne, wieksze lub rowneOperatory logiczne laczawyrazenia logiczne w bardziej zlozone warunki:
and - koniunkcja (oba warunki musza byc prawdziwe): x > 0 and x < 10or - alternatywa (wystarczy jeden prawdziwy): x == 0 or x == 1not - negacja (odwraca wartosc logiczna): not (x > 5)Tablice prawdy pokazuja wyniki operacji logicznych dla wszystkich kombinacji:
# AND (koniunkcja)
True and True = True
True and False = False
False and True = False
False and False = False
# OR (alternatywa)
True or True = True
True or False = True
False or True = True
False or False = False
# NOT (negacja)
not True = False
not False = True
W Pythonie typ wyniku zalezy od typow operandow:
# int + int = int
3 + 5 # 8 (int)
# int / int = float (zawsze!)
10 / 5 # 2.0 (float)
# int // int = int
10 // 3 # 3 (int)
# Rzutowanie typow
int("42") # 42
float("3.14") # 3.14
str(100) # "100"
Napisz program, ktory wczytuje dwie liczby calkowite od uzytkownika i wyswietla wynik wszystkich 7 operacji arytmetycznych (+, -, *, /, //, %, **).
a = int(input("Podaj pierwsza liczbe: "))
b = int(input("Podaj druga liczbe: "))
print(f"{a} + {b} = {a + b}")
print(f"{a} - {b} = {a - b}")
print(f"{a} * {b} = {a * b}")
print(f"{a} / {b} = {a / b}")
print(f"{a} // {b} = {a // b}")
print(f"{a} % {b} = {a % b}")
print(f"{a} ** {b} = {a ** b}")
Napisz program, ktory wczytuje liczbe calkowita i sprawdza, czy jest parzysta. Uzyj operatora modulo (%) i wyswietl odpowiedni komunikat.
n = int(input("Podaj liczbe: "))
if n % 2 == 0:
print(f"Liczba {n} jest parzysta")
else:
print(f"Liczba {n} jest nieparzysta")
Napisz program, ktory wczytuje wiek osoby i sprawdza, czy osoba jest: a) pelnoletnia (wiek >= 18), b) w wieku szkolnym (6-18), c) moze miec prawo jazdy (wiek >= 18) i jednoczesnie jest mlodsza niz 65. Uzyj operatorow logicznych and, or.
wiek = int(input("Podaj wiek: "))
pelnoletnia = wiek >= 18
szkolny = wiek >= 6 and wiek <= 18
prawo_jazdy = wiek >= 18 and wiek < 65
print(f"Pelnoletnia: {pelnoletnia}")
print(f"Wiek szkolny: {szkolny}")
print(f"Moze miec prawo jazdy: {prawo_jazdy}")
Oblicz i wyswietl wyniki ponizszych wyrazen (najpierw na kartce, potem sprawdz w Pythonie):
a) 2 + 3 * 4
b) (2 + 3) * 4
c) 15 // 4 + 15 % 4
d) 2 ** 3 ** 2 (uwaga na prawostronna lacznosc potegowania!)
e) not (True and False) or (True and not False)
# a) 2 + 3 * 4 = 2 + 12 = 14
print(2 + 3 * 4) # 14
# b) (2 + 3) * 4 = 5 * 4 = 20
print((2 + 3) * 4) # 20
# c) 15 // 4 + 15 % 4 = 3 + 3 = 6
print(15 // 4 + 15 % 4) # 6
# d) 2 ** 3 ** 2 = 2 ** 9 = 512
print(2 ** 3 ** 2) # 512
# e) not (True and False) or (True and not False)
# not False or (True and True)
# True or True = True
print(not (True and False) or (True and not False)) # True