Zvládneš pro počítač naprogramovat lepší strategii? Třeba aby se snažil hrát vedle svých existujících symbolů nebo aby bránil protihráčovi? Stačí jen docela malé vylepšení!
Testy by stále měly procházet.
Odevzdej celý soubor ai.py
.
Napiš funkci vytvor_seznam_zvirat()
, která vrátí seznam domácích zvířat.
Domácí zvířata známe tato: "pes", "kočka", "králík", "had"
.
Tuto funkci použiješ pro otestování dalších úloh. Nehledej v ní nic složitého.
Příklad:
>>> vytvor_seznam_zvirat()
['pes', 'kočka', 'králík', 'had']
Napiš funkci filtruj_kratka_jmena
, která dostane seznam řetězců a vrátí
seznam těch, která jsou kratší než 5 písmen.
Například:
>>> zvirata = vytvor_seznam_zvirat()
>>> filtruj_kratka_jmena(zvirata)
['pes', 'had']
Vzpomeň si, jak se vytváří seznam: začni s prázdným seznamem a postupně přidávej prvek po prvku.
Napiš funkci filtruj_k
, která dostane seznam řetězců a vrátí seznam těch,
která začínají na k
.
Například:
>>> zvirata = vytvor_seznam_zvirat()
>>> filtruj_k(zvirata)
['kočka', 'králík']
Napiš funkci obsahuje
, která dostane seznam a slovo a zjistí, jestli je
to slovo v daném seznamu.
Podle toho vrátí True
nebo False
.
Například:
>>> zvirata = vytvor_seznam_zvirat()
>>> obsahuje(zvirata, 'pes')
True
>>> obsahuje(zvirata, 'vodováha')
False
Napiš funkci zrus_prvni
, která dostane seznam jmen a vrátí seznam
se všemi jeho prvky kromě prvního.
>>> zvirata = vytvor_seznam_zvirat()
>>> zvirata
['pes', 'kočka', 'králík', 'had']
>>> zrus_prvni(zvirata)
['kočka', 'králík', 'had']
Ale pozor! Funkce by neměla změnit původní seznam:
>>> zvirata
['pes', 'kočka', 'králík', 'had']
A měla by fungovat i pro prázdný seznam:
>>> zrus_prvni([])
[]
Had byl pyšný na to, že je v abecedě první.
Dokud nepřiletěla "andulka"
.
Abys hada uklidnila, vytvoř funkci serad_od_druheho
,
která zvířata seřadí podle abecedy,
ale bude ignorovat první písmeno. Například:
>>> zvirata = vytvor_seznam_zvirat() >>> serad_od_druheho(zvirata) ["had", "pes", "andulka", "kočka", "králík"] >>> # (barvy jsou tu jen pro přehlednost, tvůj program vypisuje bez barev)
Máš tady seznam hodnot, které chceš seřadit podle nějakého klíče. Klíč se dá z každé hodnoty vypočítat – v našem případě je to hodnota kromě prvního písmenka (tedy od druhého písmenka dál).
Postup:
(klíč, hodnota)
.Vytvoření seznamu se dělá tak, že začneš s prázdným seznamem a postupně do něj přidáváš hodnoty jednu po druhé.