Okomentované poznámky k druhému cvičení (Skupina 3)¶

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]:
89*1000
Out[1]:
89000
In [3]:
(2347-1234)/5
Out[3]:
222.6
In [4]:
# // ... celočíselné dělení
(2347-1234)//5
Out[4]:
222
In [5]:
# % ... zbytek po dělení
(2347-1234)%5
Out[5]:
3
In [2]:
# ** ... mocnina
3.6**10
Out[2]:
365615.8440062977
Proměnná¶
  • umožňuje uchovat hodnotu pro další použití
In [6]:
identifikátor="hodnota"
In [7]:
identifikátor
Out[7]:
'hodnota'
In [8]:
x = 6
y = 7
In [9]:
x
Out[9]:
6
In [10]:
y
Out[10]:
7
In [11]:
x = 1
(x+y)**3   
(45-x)
Out[11]:
44
  • v předchozí buňce se všechny výrazy vyhodnotily, ale pod buňku se vypsala jen hodnota výrazu na posledním řádku
  • -> k výpisu hodnot je lepší použít funkci print
Funkce print¶
  • pro výpis hodnoty výrazu na standardní výstup
  • může mít více parametrů, pak vypíše výsledky za sebe na jeden řádek oddělené mezerou, na konci odřádkuje
Volání funkce¶
  • názevFunkce (parametry oddělené čárkou), např. print(x,y,z)
In [12]:
print((x+y)**3)
print (45-x)
512
44
In [13]:
# desetinná čísla ... oddělovač '.'
a = 78.0
In [14]:
a
Out[14]:
78.0
In [15]:
x = 67
y = 5
print(x,y)  
x = 567-y
print(x,y)
67 5
562 5
In [16]:
x = 67
y = 5
x = x + y
print(x,y)
72 5
Zkrácený zápis operátoru (+=,*=, apod.):¶
In [17]:
x = 67
y = 5
x += y          # totéž jako x = x + y
print(x,y)     
x *= (67-y)     # totéž jako x = x * (67 - y)  
print(x,y) 
72 5
4464 5
In [18]:
# zkuste sami spočítat v hlavě, jaká bude na konci hodnota a
a = 14
a += 1
a /= 3
a %= 3
a
Out[18]:
2.0
In [19]:
type(a)
Out[19]:
float
In [20]:
# vícenásobné přiřazení
x, y, z = 26, 3, 6
print(x,y,z)
x, y, z = "ahoj", 3, 6.9
print(x,y,z)

x = y = z = 6.9
print(x,y,z)
26 3 6
ahoj 3 6.9
6.9 6.9 6.9
In [21]:
# názvy proměnných ... písmena, číslice, _, prvním znakem nesmí být číslice
a2= 56
d_min = 3
In [22]:
# 2a = 4   # chyba
In [23]:
# program je přehlednější, pokud proměnné mají smysluplné názvy
# pro psaní víceslovných názvů platí různé konvence
divky = 7
chlapci = 6
celkem_deti = chlapci + divky
celkemDeti = chlapci + divky
In [24]:
# Každá proměnná má nějaký datový typ 
# Typ proměnné zjistím pomocí funkce type()
x = 8
print(type(x))
x = 8.0
print(type(x))
x = "ahoj"
print(type(x))
x = True
print(type(x))
<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>
In [25]:
# Textové řetězce (datový typ str)
s = "petr"
t = "klíč"
u = s+t
v = 3*s
# w = 3 + s                # chyba
w = 3
print(s,t,u,v,w)
petr klíč petrklíč petrpetrpetr 3
In [26]:
# Logická (pravdivostní) hodnota  (datový typ bool)
x = 3
x == 3         # operátory porovnání: == , != , < , > , >= , <=
Out[26]:
True
In [27]:
x != 3
Out[27]:
False
In [65]:
x = 2
y = 3
(x == y) or (x != y)
Out[65]:
True
In [64]:
(x == y) and (x != y)
Out[64]:
False
In [66]:
x < 9 and not y >=2
Out[66]:
False
In [29]:
# Funkce print a formátovaný výstup:
print(23, x)
print(y)
print(23, x, sep=", ", end=" ")
print(23, x, sep=", ", end=" \n")
print("Myslím si číslo",x, "a ještě jedno číslo",y,".")
print(f"Myslím si číslo {x} a ještě jedno číslo {y}.")

x = 1/3
print(x)
print(f"Myslím si číslo {x}.")
print(f"Myslím si číslo {x:.2}.")
23 2
3
23, 2 23, 2 
Myslím si číslo 2 a ještě jedno číslo 3 .
Myslím si číslo 2 a ještě jedno číslo 3.
0.3333333333333333
Myslím si číslo 0.3333333333333333.
Myslím si číslo 0.33.
In [68]:
# standarní vstup:
x = input()
print(x)
56
In [71]:
x = input("Jak se jmenuješ?")
print(x)
r = input("Jaký je rok?")
print(f"Jmenuješ se {x} a je rok {r}.")
Zuzka
Jmenuješ se Zuzka a je rok 2023.
In [70]:
# pozor, funkce input vrací textový řetězec (str), pokud chci číslo, musím hodnotu tzv. přetypovat:
r = input("jaký je rok?")
r = int(r)
zaRok = r+1
print(f"Je rok {r}.")
print(f"Za rok bude rok {zaRok}.")
Je rok 2023.
Za rok bude rok 2024.
Nápověda (nejen) k funkcím:¶
  • klávesa Tab nebo Help -> ShowContextualHelp
In [ ]: