Technikum Klasa I 45 minut PP: II.1 | s. 343

Lekcja 16: Wyrazenia arytmetyczne i logiczne w programach

Operatory arytmetyczne, logiczne i porownania w Pythonie

📋 Podstawa programowa: II.1
operatorypriorytetwyrazenia
00:00
Wprowadzenie
5 min
00:05
Teoria
15 min
00:20
Cwiczenia
15 min
00:35
Podsumowanie
10 min
📚

Teoria

Operatory arytmetyczne w Pythonie

Python udostepnia pelny zestaw operatorow arytmetycznych do wykonywania obliczen matematycznych. Kazdy operator ma okreslony priorytet (kolejnosc wykonywania), podobnie jak w matematyce.

Kolejnosc dzialan: Nawiasy () → 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 1024

Operatory porownania

Operatory 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 rowne

Operatory logiczne

Operatory logiczne laczawyrazenia logiczne w bardziej zlozone warunki:

  • and - koniunkcja (oba warunki musza byc prawdziwe): x > 0 and x < 10
  • or - alternatywa (wystarczy jeden prawdziwy): x == 0 or x == 1
  • not - negacja (odwraca wartosc logiczna): not (x > 5)

Tablice prawdy

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

Typy danych a wyrazenia

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"
✏️

Zadania

Latwe

Zadanie 1: Kalkulator podstawowy

Napisz program, ktory wczytuje dwie liczby calkowite od uzytkownika i wyswietla wynik wszystkich 7 operacji arytmetycznych (+, -, *, /, //, %, **).

Pokaz przykladowe rozwiazanie
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}")
Latwe

Zadanie 2: Parzysta czy nieparzysta?

Napisz program, ktory wczytuje liczbe calkowita i sprawdza, czy jest parzysta. Uzyj operatora modulo (%) i wyswietl odpowiedni komunikat.

Pokaz przykladowe rozwiazanie
n = int(input("Podaj liczbe: "))
if n % 2 == 0:
    print(f"Liczba {n} jest parzysta")
else:
    print(f"Liczba {n} jest nieparzysta")
Srednie

Zadanie 3: Warunki logiczne

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.

Pokaz przykladowe rozwiazanie
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}")
Trudne

Zadanie 4: Wyrazenie zlozone

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)

Pokaz przykladowe rozwiazanie
# 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
🎥

Materialy wideo

Kurs Python 3 - lekcja 7 - Operatory arytmetyczne i logiczne
TechAkademiaPL
Kurs Python 3 [#11] Operatory logiczne
Piotr Baja
🎧

Podcasty

✔️

Quiz - sprawdz sie!

📜

Podstawa programowa

← Lekcja 15 Lekcja 17: Instrukcje warunkowe - if, else, elif →