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
neboHelp -> ShowContextualHelp
In [ ]: