====== 4. Strukturované datové typy ======
Možná řešení úkolů jsou uvedena v sekci [[courses:bab37zpr:solutions:lab04|řešení]].
===== Úkoly =====
* Napište program, který prohodí hodnoty dvou proměnných. Zamyslete se nad tím, jak by to šlo udělat co nejjednodušeji
* Implementujte následující program:
def obdelnik(arg):
"funkce na vypocet obsahu obdelnika"
def kruh(arg):
"funkce na vypocet obsahu kruhu"
def obsah(f, arg):
"funkce na vypocet obsahu geometrickeho utvaru"
print("obsah kruhu:", obsah(kruh, 2.21))
print("obsah obdelnika:", obsah(obdelnik, (3, 4))
* Vyzkoušejte různé způsoby procházení vytváření (concatenation, funkce append) seznamů a jejich procházení (přímá indexace, využití ''in'')
* Prozkoumejte rozdíl mezi kopií seznamu a aliasem (reference na existující seznam)
* Navrhněte funkci, jejíž návratovou hodnotou bude vektor (1D pole/seznam) inicializovaný náhodnými celými čísly v daném rozsahu
* Napište funkce, které provedou operace sčítání a skalárního násobení s vektorů
* Vytvořte seznam reprezentující matici. Napište program, který vypíše jednotlivé prvky matice.
* Seznam vozů v garáži je popsán datovou strukturou (viz níže). Vypište jmenný seznam majitelů vozů. Kolik je v garáži vozů zn. Volvo?
garaz = [
("Petr Kellner", ["Porsche", "BMW", "Volvo"]),
("Karel Komarek", ["BMW", "Volvo"]),
("Andrej Babis", ["BMW", "Porsche"]),
("Daniel Kretinsky", ["BMW", "Ferrari", "Ford Mustang"])]