Weby NPINPIMojeEduEduRevueRevize RVPProhlédnout RVPZapojme všechnyVedeme školu
npi
npi
  • Celá nabídka
  • Přihlásit se
  • Domovská stránka
  • Prohlédnout celou nabídku

  • Přihlásit se

MojeEdu

  • Domovská stránka
  • Celá nabídka
  • Pomoc k RVP PV
  • Pomoc k RVP ZV
  • Pomoc k RVP ZŠS
  • Nabídka IPS Kurikulum
  • Metodické kabinety
  • Jak na plynulý přechod z MŠ do ZŠ?
  • Spomocník
  • Záznamy webinářů
  • Proč MojeEdu?
  • Co je MojeEdu?
  • Jak používat MojeEdu?
  • Export produktů (JSON)
  • Export produktů (CSV)

Weby NPI

  • NPI
  • Revize RVP
  • Prohlédnout RVP
  • Digitalizace ve vzdělávání
  • Zapojme všechny
  • Vedeme školu

Kontakt

Konzultační centrummojeedu@npi.czSenovážné náměstí 25,
110 00 Praha 1

Sociální sítě


EU logo

  • Prohlášení o přístupnosti
  • Newsletter

NPI ČR © 2026

Odborný článek
Digitalizace ve vzdělávání

Python v hudbě: funkce

Pomocí programovacího jazyka Python prozkoumáme možnosti, jak přenášet a kódovat informace, které budeme demonstrovat na hudebních analogiích. V osmé aktivitě ze série Python v hudbě objevíme nové funkce a naučíme se i vytvářet vlastní.

  • Typ materiálu: cvičení 
  • Škola: gymnázium
  • Ročník: kvarta
  • Metody: cvičení
  • Vzdělávací obor: informatika
  • Tematický okruh: algoritmizace a programování
  • Očekávané výstupy: Vytvoří přehledný program pro vyřešení konkrétního problému s ohledem na jeho možné důsledky a svou odpovědnost za ně; používá opakování, větvení programu se složenými podmínkami, proměnné, seznamy, podprogramy s parametry a návratovými hodnotami; ve snaze o vyšší efektivitu navrhuje, řídí a hodnotí souběh procesů.
  • Časová dotace:
    • Výuka: 45 minut
    • Příprava: 30 minut
  • Pomůcky, hardware a software
    • Učitel: nainstalovaný Python
    • Žák: PC WIN s nainstalovaným Pythonem a IDE

Zdroje:

17. 3. 2026

Autor
PK

Pavel Konrád

Další tvorba autora
Kód

portal-24369

  • gymnázium
  • Informatika (rvp gv 2021)
  • Informatika
  • Algoritmizace a programování
  • vytvoří přehledný program pro vyřešení konkrétního problému s ohledem na jeho možné důsledky a svou odpovědnost za ně; používá opakování, větvení programu se složenými podmínkami, proměnné, seznamy, podprogramy s parametry a návratovými hodnotami; ve snaze o vyšší efektivitu navrhuje, řídí a hodnotí

Rubrika
Odborný článek
Typ článku
Praktický
Stupeň vzdělávání
Gymnaziální vzdělávání
Týká se jazyka
Čeština

Seriál

Python v hudbě

  1. 1.Kódování v Pythonu skrze hudbu
  2. 2.Python v hudbě: Úvod do programování
  3. 3.Python v hudbě: skript na akordy
  4. 4.Python v hudbě: intervaly jako seznam a metody
  5. 5.Python v hudbě: určení intervalů pomocí podmínek a logických operátorů
  6. 6.Python v hudbě: podmínky podruhé
  7. 7.Python v hudbě: cykly v jazyce Python, cyklus For
  8. 8.Python v hudbě: Metronom
9.
Python v hudbě: funkce
  • 10.Python v hudbě: ladička
  • 11.Python v hudbě: generátor chromatiky
  • https://www.w3schools.com/python

    Potřebné vstupní znalosti a dovednosti

    Oborové

    • Základní orientace v programovacím jazyku Python
    • Znalost proměnných a datových typů
    • Znalost cyklů while a for

    Digitální dovednosti

    • Pokročilé ovládání počítače
    • Schopnost postupovat podle návodu
    • Orientace v základní terminologii algoritmizace a programování

    Vzdělávací cíle:

    • Pochopit princip funkce a zkusit možnosti, jak ji můžeme implementovat např. jako počítadlo.

    Přínos využití digitálních technologií

    Pomocí vlastních funkcích můžeme rozšířit naši interakci s programem a díky tomu zpřehlednit a zjednodušit zápis celého kódu.

    Metodická poznámka

    Tato aktivita navazuje na sérii Python v hudbě 07 – Metronom. U tvoření vlastních funkcí je zapotřebí rozumět proměnným, logickým operátorům, smyčkám a větvení programu.

    Výklad

    V minulém díle jsme již použili rozšířené funkce v jazyce Python. V této aktivitě si ukážeme, jak si vytvořit vlastní funkce. Funkce jsou základní stavební kameny programování v Pythonu a umožňují opakované použití kódu bez potřeby jeho opakovaného psaní. Funkce mohou přijímat vstupní hodnoty (argumenty) a mohou vrátit výstupní hodnoty. Práci s funkcí můžeme rozdělit do několika kroků.

    1. Definice funkce

    Definice funkce začíná klíčovým slovem „def“, následovaným názvem funkce a závorkami, do kterých se mohou přidat argumenty, které funkce přijímá. Tělo funkce je poté definováno odsazenými řádky.

    Představme si, že máme funkci pro vytvoření melodie na kytaru, která má spoustu argumentů:

    2. Argumenty

    Argumenty nám určují, s jakými hodnotami bude funkce pracovat, a na jejich základě nám funkce vrátí nějaké výsledky. Argumenty máme buď povinné, nebo nepovinné:

    • Struna: povinný argument reprezentující číslo struny, na kterou chceme hrát. Tento argument symbolizuje struny na kytaře.
    • Pozice: povinný argument reprezentující pozici prstu na hmatníku kytary. Tento argument symbolizuje místo na hmatníku, kde chceme hrát.
    • Technika: povinný argument reprezentující způsob, jakým chceme na strunu hrát, například „staccato“ nebo „legato“. Je to způsob, jakým hráč používá prsty na kytaru.
    • Durace: nepovinný argument reprezentující délku noty v sekundách. Pokud tento argument není specifikován, výchozí hodnota je jedna sekunda.
    • Dynamika: nepovinný argument reprezentující dynamiku hraní, například „piano“ nebo „forte“. Pokud tento argument není specifikován, výchozí hodnota je „mf“ (mezzoforte).

    3. Návratová hodnota

    Funkce má mít vždy návratovou hodnotu, což je hodnota, kterou funkce vrátí zpět do programu. Tato hodnota se definuje klíčovým slovem „return“. Pokud není hodnota „return“ definována, funkce vrací „none“.

    V tomto případě vrací funkce pouze výpis našich argumentů. Funkce by měla vracet správně hodnoty, se kterými pak v programu pracujeme dále. Pro ukázku nám takováto jednoduchá funkce zatím postačí.

    4. Název funkce

    Funkce se pojmenovává názvem funkce a závorkami obsahujícími argumenty, pokud jsou povinné. Pokud jsou argumenty nepovinné, lze je vynechat, přičemž funkce použije jejich výchozí hodnoty.

    Funkce nám vrátí příkaz, který vypíše hodnoty: 1 3 legato 1 mf. Nepovinné argumenty nemusíme do funkce zapisovat. Nastaví se na výchozí hodnotu.

    Příklad použití

    Funkce v programování slouží k přehlednějšímu a čitelnějšímu kódu. V případě, že bychom program moc rozvětvili podmínkami a uzavřeli jej do několika cyklů zároveň, začal by kód být tak špatně čitelný, že by se v jeho logice později nevyznal ani sám tvůrce celého kódu, natožpak někdo, kdo v něm má hledat chyby a popř. jej opravit. 

    Můžeme si tedy ukázat příklad, jak použít funkci jako počítadlo.

    Tento kód vytvoří funkci počítadlo. Počítadlo nastaví aktuální hodnotu na hodnotu prvního parametru. Dále utvoří podmínku, že dokud bude aktuální hodnota menší než konec (což je druhý parametr), bude přičítat aktuální hodnotě hodnotu, kterou určuje třetí parametr. Jakmile smyčka skončí, vrátí funkce aktuální hodnoty počítadla. Zkusme si funkci zavolat s několika různými parametry.

    Vidíme, že nám kód vypsal číslice od 1 do 12. Každé číslici vždy přidal +1 a uložil do aktuální hodnoty. V případě, že bychom zavolali funkci s jinými parametry, uvidíme, že se program chová odlišně.

    Tento kód nám zobrazí násobky pěti od číslice 20 až po 200. I když se zdá, že pro krátké prográmky jsou funkce zbytečné, opak je pravdou. Kód napsaný logicky ve funkcích nám pomůže udržet logiku kódu tak, aby i po delší době byl kód dobře čitelný. Na závěr zkusíme vytvořit funkci pro náš generátor intervalů, který bude hledat pozici tónů. Proč na to budeme potřebovat funkci, se dozvíme v navazující aktivitě, kdy budeme generovat chromatickou stupnici.

    Zadání:

    Vytvořte funkci, která najde v proměnné scale tón, který předáme v povinném argumentu, a následně vrátí pozici indexu daného tónu. Funkci bychom měli poté zavolat tímto způsobem:

    Řešení:

    Hodnocení:

    aktivita v hodině, návrh vlastního řešení, sestavení vlastní funkce, funkčnost kódu, inovace a kreativní přístup

    Úloha 1: Vytvořte funkci, která najde v proměnné scale tón, který předáme v povinném argumentu, a následně vrátí pozici indexu daného tónu. Funkci bychom měli poté zavolat tímto způsobem:

    Zkušenosti s použitím materiálu

    Tento materiál je kombinací výkladu funkcí v jazyce Python a praktického cvičení, při němž se studenti snaží vyřešit zadání pomocí již naučených dovedností a metod v jazyce Python. Funkce již představují vysokou míru abstrakce a pro jejich pochopení je nezbytná velká míra prostorové představivosti. U těchto cvičení již počítejme s tím, že někteří studenti látku plně nepochopí. S těmito studenty projdeme celé cvičení krok za krokem a postupně jim odkrýváme řešení. Můžeme jim napsat různé nápovědy nebo jim předpřipravit syntaxi, do které pouze dosadí názvy proměnných. Následně studentům demonstrujeme hotovou funkci a její možné použití v kontextu minulých cvičení.

    Klíčová slova

    • funkce
    • hudba
    • kódování
    • NPO 3.1 DIGI
    • programovací jazyk
    • programování pro děti
    • python
    cc

    Licence

    Tento materiál je publikován pod licencí Creative Commons – Uveďte původ – Neužívejte komerčně – Nezpracovávejte 4.0.

    17. 3. 2026

    Autor
    PK

    Pavel Konrád

    Další tvorba autora
    Kód

    portal-24369