Seznamy  9. dubna 2019

Materiály

Domácí projekty

0.

Udělej si seznam domácích zvířat. Budeš ho potřebovat v dalších úlohách. Domácí zvířata známe tato: "pes", "kočka", "králík", "had".

Napiš funkci, která přebere seznam a slovo a zjistí, jestli je to slovo v seznamu domácích zvířat.

„Zjistí“ znamená, že funkce vrátí True nebo False.

1.

Napiš funkci, která dostane dva seznamy jmen zvířat a vrátí tři seznamy:

  • zvířata, která jsou v obou seznamech (sjednocení množin: první ∪ druhá),
  • zvířata, která jsou jen v prvním seznamu (rozdíl množin: první - druhá),
  • zvířata, která jsou jen ve druhém seznamu (rozdíl množin: druhá - první).
2.

Zpět k seznamu domácích zvířat. Domácí zvířata známe tato: "pes", "kočka", "králík", "had".

3.

Napiš funkci, která vrací jména domácích zvířat (zadaných argumentem), která jsou kratší než 5 písmen.

4.

Napiš funkci, která vrací jména domácích zvířat (zadaných argumentem), která začínají na k.

Čeká tě procvičování práce se seznamy. Některé z projektů – a zvlášť ten poslední – potřebují trochu přemýšlení; nebudeš-li vědět jak dál, zeptej se na internetu nebo na sraze ostatních a řešte společně!

5.

Napiš program, který seřadí seznam domácích zvířat podle abecedy.

6.

Had byl pyšný na to, že je v abecedě první. Dokud nepřiletěla "andulka".

Abys hada uklidnila, vytvoř funkci, která zvířata seřadí podle abecedy, ale bude ignorovat první písmeno t.j. vrátí:

"had",
"pes",
"andulka",
"kočka",
"králík".

Postup:

  • Máš seznam hodnot, které chceš seřadit podle nějakého klíče. Klíč se dá z každé hodnoty vypočítat.
  • Vytvoř seznam dvojic (klíč, hodnota).
  • Seřaď tento seznam dvojic – dvojice se řadí nejdřív podle prvního prvku, pak druhého atd.
  • Nakonec vytvoř ze seznamu dvojic opět jen seznam hodnot.

Proč má zrovna had takovéhle výsadní postavení, zjistíš později.

Jedna klasická programovací úloha, která nejspíš pořádně potrápí tvé logické myšlení. Je nepovinná, nemáš-li na ni aspoň pár hodin, tak ji přeskoč.

7.

Napiš funkci, která převede římské číslice na číslo (int).

A nakonec projekt na přemýšlení.

8.

Může seznam obsahovat sám sebe? Zkus co nejjednodušeji udělat takový seznam, aby platilo:

seznam[5][5][5][5][5][5][5][5][5][5][5][5][5][5][5][5][5][5][0] == 5