Zdroje:
Potřebné vstupní znalosti a dovednosti
Oborové
Digitální dovednosti
Vzdělávací cíle:
Přínos využití digitálnícg technologií
Díky seznamům a metodám v programovacím jazyce Python můžeme s daty pracovat mnohem sofistikovanějším způsobem a efektivně je tak třídit podle zadaných kritérií.
Tato aktivita navazuje na sérii Python v hudbě – skript na akordy. V této aktivitě se demonstrují možnosti, tzv. metody a funkce jazyka Python. V této aktivitě učitel demonstruje možnosti třídění dat podle zadaných kritérií a nechává studenty dělat zápisky použitých metod.
První polovina hodiny:
Učitel vysvětluje, co jsou to seznamy a jak s nimi v Pythonu pracujeme. Vysvětluje, že v jedné proměnné můžeme mít na jednotlivých indexech uloženo více informací.
scale = "c", "c#", "d", "d#", "e", "f", "f#", "g", "g#", "a", "bb", "b"
Demonstruje přímo na funkci print a ukazuje, jak se takový seznam chová.
print(scale)
Rozšiřuje funkci print o hranatou závorku, do které vloží číslo požadovaného indexu, který se má poslat na výstup.
print(scale[1])
Vysvětluje, že na indexu 1 se nachází druhá položka v seznamu, jelikož v programování začíná vše od 0, a názorně předvede.
print(scale[0])
Ukazuje pro zajímavost další možnosti, jak manipulovat s daty.
print(scale[0:5])
print(scale[1+5])
Dále učitel uvede a vysvětlí novou funkci len, kterou si studenti zapíšou do poznámek – co přesně znamená a jaké má využití. Demonstruje ji na příkladu a dbá na to, aby si studenti opsali správnou syntax. Funkci len demonstruje na jednotlivých indexech, které obsahují jeden nebo dva znaky.
print(len(scale[1]))
print(len(scale[0]))
print(len(scale))
V závěru první části hodiny vysvětlí nový pojem „metody“ a vysvětlí, jaký je rozdíl mezi funkcí a metodou a jak takovou metodu nazýváme. Učitel demonstruje nový pojem na metodě index, kterou názorně ukazuje na vytvořeném seznamu v proměnné scale. Upozorní, že index hledá pouze textové řetězce a vrací číslo indexu, na kterém se hodnota nachází.
print(scale.index("d"))
print(scale.index("g"))
Druhá část hodiny:
Učitel zadá samostatnou práci, při níž studenti pracují na vyřešení problému. Pracují s vytvořenými zápisky a zkoušejí je poskládat do správné syntaxe. Studenti hledají postup, jak zjistit rozdíl mezi dvěma tóny. Učitel může úlohu se studenty rozpracovat a vypracování uložit jako domácí úkol.
Vytvoř jednoduchý kód, který bude obsahovat proměnné x a y, které budou reprezentovat uživatelský vstup. Ať zadáš do těchto proměnných jakýkoliv tón ve formátu string, tak program spočítá vzdálenost mezi těmito tóny, uloženými v proměnných x a y.
Budeš k tomu potřebovat deklarovat další proměnné tone1 a tone2, ve kterých následně využiješ metodu index, abys z proměnné scale získal datový typ int. Proměnné tone1 a tone2 budou obsahovat tedy číslo, na kterém indexu se nachází tón zadaný v proměnné x a y.
scale = "c", "c#", "d", "d#", "e", "f", "f#", "g", "g#", "a", "bb", "b"
x = ?
y = ?
tone1 = ?
Postup:
x = "c"
y = "g"
tone1 = scale.index(x)
tone2 = scale.index(y)
vypocet = tone2 - tone1
vysledek = "Mezi tóny: ",x, "-", y, "je", vypocet, "půltónů."
Print(vysledek)
Hodnocení:
Student ukládá vytvořený kus kódu do poznámkového bloku a odesílá učiteli na e-mail. Učitel hodnotí, zda:
Úloha 1: Vytvoř jednoduchý kód, který bude obsahovat proměnné x a y, které budou reprezentovat uživatelský vstup. Ať zadáš do těchto proměnných jakýkoliv tón ve formátu string, tak program spočítá vzdálenost mezi těmito tóny, uloženými v proměnných x a y.
Úloha 2: Budeš k tomu potřebovat deklarovat další proměnné tone1 a tone2, ve kterých následně využiješ metodu index, abys z proměnné scale získal datový typ int. Proměnné tone1 a tone2 budou obsahovat tedy číslo, na kterém indexu se nachází tón zadaný v proměnné x a y.
Zkušenosti s použitím materiálu
Toto cvičení je zaměřené na procvičování a praxi. Pakliže máme šikovnou třídu, můžeme výklad zkrátit na nezbytné minimum a nechat veškerou iniciativu na studentech. Pomáháme individuálně s problémy v syntaxi. V opačném případě můžeme naopak postupovat spíš teoreticky a na závěr hodiny s pomocí učitele zkusit napsat kus vlastního kódu. Postup můžeme odkrývat postupně a psát kód v průběhu hodiny se studenty.
Článek je publikován pod licencí Creative Commons - Uveďte původ-Neužívejte komerčně-Nezpracovávejte 4.0 .
Článek nebyl prozatím komentován.
Pro vložení komentáře je nutné se nejprve přihlásit.
Tento článek je zařazen do seriálu Python v hudbě.
Ostatní články seriálu:
Materiály s klíčovým slovem NPO 3.1 DIGI vytvořil tým metodiků v projektu Podpora škol v kontextu digitalizace (Národní plán obnovy 3.1 DIGI) pro podporu pedagogů při ICT revizích.
Další informace, metodické materiály i inspiraci do výuky jednotlivých předmětů i napříč předměty najdete na webu https://digitalizace.rvp.cz/

Národní pedagogický institut České republiky © 2025