Martin Svoboda

Martin Svoboda - Blog

Proměnné 3: aritmetické operátory


Proměnné a čísla se v používají pro ukládání dat, ale jejich skutečný potenciál se ukáže, když s nimi začneme provádět operace nebo výpočty. Ty nejjednodušší operace děláme pomocí operátorů. Kromě operátoru přiřazení (=) existuje několik dalších operátorů, které nám umožňují provádět různé aritmetické operace. Mezi základní aritmetické operátory patří:

OperátorPopisPříklad
+Sčítání5 + 3 = 8
-Odčítání5 - 3 = 2
*Násobení5 * 3 = 15
/Dělení5 / 3 = 1.6666666666666667
**Umocňování5 ** 3 = 125
//Celočíselné dělení5 // 3 = 1
%Zbytek po dělení (modulo)5 % 3 = 2

Lepší bude si tyto operátory ukázat na příkladech.

# aritmetické operátory pro čísla (int, float)

# sčítání
print(5 + 3) # 8

# odčítání
print(5 - 3) # 2

# násobení
print(5 * 3) # 15

# umocňování - 5 na třetí
print(5 ** 3) # 125

# dělení
print(5 / 3) # 1.6666666666666667

# celočíselné dělení - výsledek je celé číslo - zaokrouhlení dolů
print(5 // 3) # 1

# zbytek po dělení nebo modulo - zbytek po celočíselném dělení
print(5 % 3) # 2

print("5/3 =", 5//3, " a zbytek je", 5%3) # 5/3 = 1  a zbytek je 2
print("5/3 =", 5//3, " + ", 5%3, "/3") # 5/3 = 1  +  2 /3

Pořadí Operátorů neboli Precedence Operátorů

Operátory mají svou prioritu a platí pro ně několik pravidel:

  • Každý operátor má jinou prioritu.
  • Operace se stejnou prioritou se provádějí zleva doprava.
  • Pro změnu priority operátorů můžeš použít závorky ().

Zde jsou operátory seřazené podle priority:

  • ()
  • **
  • *, /, //, %
  • +, -

Pro lepší pochopení je zde další příklad k prozkoumání. Zkus se zamyslet nad výsledkem a jak se výrazy vyhodnocují. Zkoumání cizích kódů je dobrý způsob, jak se naučit programovat. Osvojit si programování znamená nejen psát kód, ale také rozumět kódu napsanému. Dobrý programátor funguje jako lidský interpret, který dokáže přečíst kód a pochopit, co se v něm děje.

# pořadí operátorů (operator precedence)

print(5 + 3 * 2) # ?
print((5 + 3) * 2) # ?

print(5 + 3 * 2 ** 2) # ?
print((5 + 3) * 2 ** 2) # ?

print(5 + 3 * 2 ** 2 / 4) # ?
print((5 + 3) * 2 ** 2 / 4) # ?

Závěr

Aritmetické operátory jsou základními stavebními kameny pro práci s proměnnými v Pythonu. Přestože jsou tyto operace jednoduché a zvládnutelné s kalkulačkou, jsou nezbytným základem pro složitější problémy. Pojďme si nyní procvičit operátory a ověřit si své znalosti.

Kontrolní Otázky

Pokud to dokážeš vysvětlit někomu jinému vlastními slovy, tak jsi na dobré cestě tomu rozumět. Dokážeš odpověďět na tyto otázky sám sobě? 🙂

  1. Jaké jsou základní aritmetické operátory v jazyce Python?
  2. Jak se v jazyce Python provádí dělení celých čísel?
  3. Co je to operátor modulo a k čemu slouží?
  4. Jaký je operátor umocňování v jazyce Python?
  5. Co je to precedence operátorů a jak funguje v jazyce Python?

Kvízy

Kvíz:

Jaký bude výstup následujícího kódu?

print(3 * 4 ** 2)
  1. 24
  2. 48
  3. 32
  4. 16
Kvíz:

Jaký bude výstup následujícího kódu?

x = 10
y = 3
z = x % y

print(z)
  1. 3.3333333333333335
  2. 3
  3. 4
  4. 1
Kvíz:

Který operátor se v jazyce Python používá pro umocňování?

  1. ^
  2. *
  3. **
  4. &
Kvíz:

Které z následujících tvrzení je pravdivé o precedenci operátorů v jazyce Python?

  1. Násobení, dělení a sčítání mají stejnou prioritu.
  2. Pomocí závorek lze měnit pořadí operací.
  3. Operátor umocňování má nejnižší prioritu.
  4. Operace se vždy provádějí zprava doleva.

Cvičení

Cvičení 1:

Vytvoř skript, který alespoň jednou použije všechny aritmetické operátory (+, -, *, /, **, //, %).

Cvičení 2:

Kolik je výsledek následujícího výrazu: 10 - 3 * 2?

Navrhni úpravy pomocí závorek (pokud jsou třeba) tak, aby výsledek byl jednou 14 a podruhé 4.

Výzva

Výzva 1:

Napište skript, který vypočítá a vypíše plochu kruhu o poloměru 5 podle vzorce

Plocha=πr2\mathrm{Plocha} = \pi \cdot r^2

Hodnotu π\pi můžete použít z knihovny math nebo poučítat s příbližnou hodnotou 3.14159.

Výzva 2:

Napiš skript, který vyřeší kvadratickou rovnici ax2+bx+c=0ax^2 + bx + c = 0. Jako koeficienty použij a=1a = 1, b=3b = -3 a c=2c = 2. Řešení kvadratické rovnice je dáno vzorcem:

x=b±b24ac2ax = \frac{{-b \pm \sqrt{{b^2 - 4ac}}}}{2a}

Nezapomeň použít správnou prioritu operátorů 🙂