Commit 4cabfcb4 authored by Martin Mareš's avatar Martin Mareš
Browse files

Merge branch 'master' of gitlab.kam.mff.cuni.cz:mj/prm1

parents 4e5388df 4b0a40cb
......@@ -7,7 +7,7 @@
\title{Programování 1: Úvod do Pythonu}
\author[Martin Mareš]{Martin Mareš\\\texttt{mj@ucw.cz}}
\institute{Katedra Aplikované Matematiky\\MFF UK Praha}
\date{2019}
\date{2020}
\begin{document}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{}
......
#!/usr/bin/env python3
# Nejprve zjistíme, do kolika počítat
print("Do kolika chceš počítat?")
n = int(input())
n = int(input("Do kolika chceš počítat? "))
# Aktuální číslo
i = 1
......
print("Do kolika chceš počítat?")
n = int(input())
n = int(input("Do kolika chceš počítat? "))
i = 1
......
......@@ -7,7 +7,7 @@
\title{Programování 1: Podmínky a cykly}
\author[Martin Mareš]{Martin Mareš\\\texttt{mj@ucw.cz}}
\institute{Katedra Aplikované Matematiky\\MFF UK Praha}
\date{2019}
\date{2020}
\begin{document}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{}
......@@ -30,7 +30,11 @@
~
Pokud bychom chtěli {\it příkazy} vynechat, můžeme místo nich napsat {\bf pass}.
Větev {\bf else} můžeme vynechat.
~
Pokud bychom chtěli vynechat {\it příkazy,} můžeme místo nich napsat {\bf pass}.
To je prázdný příkaz.
\end{frame}
......
......@@ -7,7 +7,7 @@
\title{Programování 1: Seznamy}
\author[Martin Mareš]{Martin Mareš\\\texttt{mj@ucw.cz}}
\institute{Katedra Aplikované Matematiky\\MFF UK Praha}
\date{2019}
\date{2020}
\begin{document}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{}
......
......@@ -7,7 +7,7 @@
\title{Programování 1: Třídění a vyhledávání}
\author[Martin Mareš]{Martin Mareš\\\texttt{mj@ucw.cz}}
\institute{Katedra Aplikované Matematiky\\MFF UK Praha}
\date{2019}
\date{2020}
\begin{document}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{}
......
......@@ -7,7 +7,7 @@
\title{Programování 1: Funkce}
\author[Martin Mareš]{Martin Mareš\\\texttt{mj@ucw.cz}}
\institute{Katedra Aplikované Matematiky\\MFF UK Praha}
\date{2019}
\date{2020}
\begin{document}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{}
......@@ -116,7 +116,7 @@ def stekej(n=1, zvuk="Haf!"): \\
stekej() \\
stekej(5) \\
stekej(5, "HAF!") \\
stekej(5, zvuk="HAF!") \\
stekej(n=5, zvuk="HAF!") \\
stekej(zvuk="HAF!")
}
......
......@@ -7,7 +7,7 @@
\title{Programování 1: Seznamy, řezy a řetězce}
\author[Martin Mareš]{Martin Mareš\\\texttt{mj@ucw.cz}}
\institute{Katedra Aplikované Matematiky\\MFF UK Praha}
\date{2019}
\date{2020}
\begin{document}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{}
......@@ -270,4 +270,40 @@ True \cmt{(pozor, nerespektuje česká pravidla)}
% ----------------------------------------------------------------------
\begin{frame}{Převody mezi typy dat}
\py{%
int("123")
}{%
123
}
\py{%
str(123)
}{%
"123"
}
\py{%
list("123")
}{%
['1', '2', '3']
}
\py{%
str(['1', '2', '3'])
}{%
"['1', '2', '3']"
}
\py{%
list(range(1, 10))
}{%
[1, 2, 3, 4, 5, 6, 7, 8, 9]
}
\end{frame}
% ----------------------------------------------------------------------
\end{document}
......@@ -7,7 +7,7 @@
\title{Programování 1: List comprehensions}
\author[Martin Mareš]{Martin Mareš\\\texttt{mj@ucw.cz}}
\institute{Katedra Aplikované Matematiky\\MFF UK Praha}
\date{2019}
\date{2020}
\begin{document}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{}
......
......@@ -19,5 +19,4 @@ def nasobeni_matic(x, y):
def slova_podle_delky(radek):
dvojice = [ (len(slovo), slovo) for slovo in radek.split() ]
for _, slovo in sorted(dvojice):
print(slovo)
return [ slovo for _, slovo in sorted(dvojice) ]
......@@ -7,7 +7,7 @@
\title{Programování 1: Množiny a slovníky}
\author[Martin Mareš]{Martin Mareš\\\texttt{mj@ucw.cz}}
\institute{Katedra Aplikované Matematiky\\MFF UK Praha}
\date{2019}
\date{2020}
\begin{document}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{}
......@@ -35,7 +35,7 @@ zvířata
}
\py{%
"kočka" in zvířata
"kočka" in zvířata \cmt{(na rozdíl od seznamů rychlé)}
}{%
True
}
......@@ -104,6 +104,12 @@ a - b
\{'d'\}
}
\py{%
a == b \cmt{(obsahují tytéž prvky?)}
}{%
False
}
\end{frame}
% ----------------------------------------------------------------------
......@@ -143,6 +149,12 @@ teploty.get("Peklo", -999)
-999
}
\py{%
teploty == \{\} \cmt{(mají tytéž klíče i hodnoty k~nim?)}
}{%
False
}
\end{frame}
% ----------------------------------------------------------------------
......@@ -180,7 +192,7 @@ Longyearbyen = -46
% ----------------------------------------------------------------------
\begin{frame}{List comprehension pro množiny a slovníky}
\begin{frame}{Comprehension pro množiny a slovníky}
\py{%
\{ x**2 for x in range(5) \}
......
......@@ -7,7 +7,7 @@
\title{Programování 1: Třídy a objekty}
\author[Martin Mareš]{Martin Mareš\\\texttt{mj@ucw.cz}}
\institute{Katedra Aplikované Matematiky\\MFF UK Praha}
\date{2019}
\date{2020}
\begin{document}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{}
......@@ -267,7 +267,7 @@ True
% ----------------------------------------------------------------------
\begin{frame}{Jak to funguje uvnitř}
\begin{frame}{Jak to funguje uvnitř: namespaces a scope}
{\bf Prostory jmen (namespaces):}
......@@ -276,7 +276,7 @@ True
\begin{itemize}
\item Zabudované funkce (třeba {\tt print})
\item Globální jména (proměnné, funkce)
\item Lokální jména uvnitř funkce
\item Lokální jména uvnitř funkce (každého zavolání)
\item Jména definovaná v~třídě
\item Jména definovaná v~objektu
\end{itemize}
......@@ -284,7 +284,7 @@ True
\medskip
Obyčejné jméno se hledá ve všech prostorech, které jsou na daném
místě v~programu \uv{vidět}.
místě v~programu \uv{vidět}. Tomu se říká {\bf scope.}
\medskip
......@@ -306,7 +306,8 @@ místě v~programu \uv{vidět}.
\begin{frame}{Jak to funguje uvnitř: zabudované typy}
{\bf Zabudované typy jako int, str apod.} jsou rovněž třídy.
Volání {\tt int()} nebo {\tt int("1")} je prostě vytvoření objektu dané třídy.
Volání {\tt int()} nebo {\tt int("1")} je prostě vytvoření objektu dané třídy
(nebo recyklování existujícího u~neměnných typů).
\medskip
......
......@@ -11,4 +11,4 @@ clean::
rm -rf __pycache__
upload::
rs $(SLIDES) jw:www/static/vyuka/1920/p1m/
rs $(SLIDES) jw:www/static/vyuka/2021/p1m/
- input("Prompt")
- and/or vyhodnocované zkráceně
- if jako výraz?
- rekurze
......@@ -7,4 +5,6 @@
- příště u domácích úkolů napsat, jak velké vstupy mají zvládat
- objektový DÚ: páry jsou hrozně matoucí
- ukázat ipython
- dataclass
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment