Funkce a generátory
Jupyter notebook z dnešního semináře.
Prezentované zdrojové kódy úkolů.
Zadání
-
úkol 1
Napište funkci
pocitadlo(start)
, která bude uchovávat počet volání dané funkce, přičemž počet začne na hodnotě start. Při implementaci nepoužívejte globální proměnné.a = pocitadlo(10) a() # vraci 10 a() # vraci 11 a() # vraci 12
-
úkol 2
Napište funkci
mapovani(f, x)
, která bere jako argument funkcif
a listx
, aplikuje funkcif
na každý element listux
a změněné hodnoty zapíše do listux
.x = [1, 2, 3, 4, 5] f = lambda x: x*2 mapovani(f, x) # x nyní obsahuje [2, 4, 6, 8, 10]
-
úkol 3
Napište funci
minmax()
, která bere libovolný počet argumentů typu integer a vrací jejich minimum a maximum. Při řešení nepoužívejte funkcemin
amax
. -
úkol 4
Napište funkci
posun(s)
, která pro zadaný řetězecs
vypíše všechny řetezce, které vzniknou cyklickým posunems
.posun('spam') # vypise spam pams amsp mspa