Okomentované poznámky k druhému cvičení (Skupina 2)¶
Python jako kalkulačka¶
- v konzoli i v notebooku
- matematické výrazy obsahující čísla, ( , ), operátory + , - , , / , * , // , % , proměnné
- pořadí vyhodnocení operátorů je celkem intuitivní (pokud nevím, mrknu se do dokumentace nebo použiji závorky)
- kód v buňce (nebo v konzoli) spustím např. pomocí
Shift enter
- interpret Pythonu pracuje ve smyčce:
- načti vstup - vyhodnoť výraz - vypiš výsledek
In [1]:
(2+3)-5*4/13
Out[1]:
3.4615384615384617
In [2]:
(2.5+3)-5*4/13
Out[2]:
3.9615384615384617
In [3]:
2 ** 4
Out[3]:
16
In [4]:
5 / 3 # dělení
Out[4]:
1.6666666666666667
In [5]:
5 // 3 # celočíselné dělení
Out[5]:
1
In [5]:
5 % 3 # zbytek po celočíselném dělení
Out[5]:
1
In [1]:
print(5 // 3, "ahoj")
print(5 / 3)
print(5 % 3)
1 ahoj 1.6666666666666667 2
In [14]:
# Proměnná - umožňuje uchovat hodnotu pro další použití
x = 12
y = 1 - 4.5
z = x + 2* y
print(x,y,z)
12 -3.5 5.0
In [16]:
# hodnotu proměnné můžeme měnit:
x = 4
x = x + 8
x = x /30
x
Out[16]:
0.4
In [17]:
# zkraceny zapis operatoru:
x = 4
x += 8
x /= 30
x
Out[17]:
0.4
In [19]:
# příklad: zkuste si spočítat v hlavě:
a = 14
a += 1
a /= 3
a %= 3
a
Out[19]:
2.0
In [21]:
# vicenásobné přiřazení:
x, y, z = 1 , "ahoj", 3.7
print(x,y,z)
x = y = z = 2
print(x,y,z)
1 ahoj 3.7 2 2 2
In [24]:
# názvy proměnných ... písmena, číslice, _, prvním znakem nesmí být číslice
#2a = 7 # chyba!
a2 = 7
a_min = 4
In [25]:
# program je přehlednější, pokud proměnné mají smysluplné názvy
# pro psaní víceslovných názvů jsou různé konvence
# při psaní dlouhých jmen nám pomůže klávesa TAB
dívky = 12
chlapci = 15
celkemDětí= dívky + chlapci
celkem_dětí= dívky + chlapci
print(celkemDětí)
27
In [27]:
# Každá proměnná má nějaký datový typ
# Typ proměnné zjistím pomocí funkce type()
x, y, z = 1 , "ahoj", 3.7
print(x,y,z)
print(type(x), type(y), type(z))
1 ahoj 3.7 <class 'int'> <class 'str'> <class 'float'>
In [2]:
# Textové řetězce (datový typ str)
s = "petr"
t = "klíč"
print(s+t,3*s)
petrklíč petrpetrpetr
In [3]:
3 + s # chyba!
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) Cell In[3], line 1 ----> 1 3 + s # chyba! TypeError: unsupported operand type(s) for +: 'int' and 'str'
In [31]:
# Logická (pravdivostní) hodnota (datový typ bool)
# hodnoty True, False
# operátory porovnání: == , != , < , > , >= , <=
# logické operátory and, or, not
x = 3
x > 1
Out[31]:
True
In [32]:
x == 2
Out[32]:
False
In [33]:
x != 2
Out[33]:
True
In [34]:
(x> 1) and (x < 10)
Out[34]:
True
In [36]:
(x> 1) or not (x < 10)
Out[36]:
True
In [6]:
# Funkce print a formátovaný výstup:
x = 2023
jmeno = "zuzka"
print("Jmenuji se", jmeno, "a je rok", x, ".")
print("Jmenuji se", jmeno, "a je rok", x, ".", sep=", ", end=" ")
print("ahoj")
print(f"Jmenuji se {jmeno} a je rok {x}.")
Jmenuji se zuzka a je rok 2023 . Jmenuji se, zuzka, a je rok, 2023, . ahoj Jmenuji se zuzka a je rok 2023.
In [7]:
x = 1/3
print("Číslo je",x)
print(f"Číslo je {x:.2}")
print(f"Číslo je {x:.2f}")
Číslo je 0.3333333333333333 Číslo je 0.33 Číslo je 0.33
In [8]:
# standardní vstup:
x = input()
print(x)
ahoj
In [12]:
# funkce input vždy vrací řetězec (str)
# pokud chci číslo, musím ho přetypovat:
x = input()
x = int(x) # celé číslo
y = x + 4
print(x, y)
12 16
In [11]:
x1 = input()
x = int(x1) # celé číslo
z = float(x1) # "reálné" číslo (s desetinnou tečkou)
y = x + 4
print(x, y, z, x1)
print(type(x), type(z), type(x1))
10 14 10.0 10 <class 'int'> <class 'float'> <class 'str'>
In [14]:
# mohu napsat zkráceně:
číslo = float(input("zadej číslo:") )
číslo
Out[14]:
3.0
In [ ]: