IB111: cvičení 6 Seznamy, řetězce a binární vyhledávání 25. 10. 2013 1 -o^o Max, in, sum Napište vlastní funkce pro práci se seznamy: ■ hledání největšího prvku ■ zjišťování, zda se prvek nachází v seznamu ■ výpočet součtu všech čísel v seznamu >>> najdi_maximum([6, 5, 11, 8]) 11 »> sečti ( [ 6, 5, 11, 8] ) 30 >>> hledej(5, [6, 5, 11, 8]) True >>> hledej(4, [6, 5, 11, 8]) Falše Frekvenční analýza Napište funkci, která spočítá a vypíše počty výskytů jednotlivých písmen v zadaném řetězci. Hádání čísla člověkem Počítač si myslí číslo, hráč se ho snaží uhodnout. Po každém pokusu dostane hráč od počítače informaci, zda je hledané číslo menší nebo větší než to, které si tipnul. >>> hadani_cisla(10) --- pokus c. 1 --- Zadej svůj tip: 5 Moje cislo je menši. --- pokus c. 2 --- Zadej svůj tip: 3 Moje cislo je vetsi. --- pokus c. 3 --- Zadej svůj tip: 4 Jo, to je ono! Hádání čísla počítačem Člověk si myslí číslo, počítač se ho snaží uhodnout. Po každém pokusu poskytne člověk počítači informaci, zda je myšlené číslo menší nebo větší než to, které si počítač tipnul. >>> hadani_cisla_pocitac(10) Mysli si cislo od 1 do 10 Je cislo 5 menši (0) , rovno (1) , nebo vetsi (2) nez tvoje cislo? 2 Je cislo 2 menši (0) , rovno (1) , nebo vetsi (2) nez tvoje cislo? 2 Tvoje cislo je 1 Hádání čísla - počítač proti počítači Naprogramujte funkci, která vykoná hru v hádání myšleného čísla počítače proti počítači. Na závěr vypište počet pokusů. A: Myslim si cislo od 1 do 10 --- pokus c. 1 -- B: Tipuji 5 A: Moje cislo je menši. --- pokus c. 2 -- B: Tipuji 2 A: Moje cislo je vetsi. --- pokus c. 3 — B: Tipuji 3 A: JO, to je ono Uhádnuto na 3 pokusu Binární vyhledávání Napište funkci binarni_vyhledavani (hodnota, seznam), která zjišťuje, zda se hodnota nachází ve vzestupně uspořádaném seznamu. >>> binarni_ _vyhledavani (5, [1, 2, 5, 8] ) True >>> binarni_ _vyhledavani (4, [1, 2, 5, 8] ) False 1 Pozpátku Napište funkci, která převrátí zadaný text. >>> pozpátku("DVERE") EREVD >>> pozpátku("OPILECDOSELDOMU") UMODLESODCELIPO 1 -00.0 Prokládání Napište funkci, která proloží zadaný text znakem "X"(tj. mezi každá dvě písmena vloží "X"). >>> prokládáni("DVERE") DXVXEXRXEX 1 -00.0 Další transpozice Napište funkce šikmo, cikcak a schody, které vypíší zadaný text podle následujících schémat. >>> šikmo("OPILECDOSELDOMU" , 3 ) 0 L D E 0 P E 0 L M I C S D U >>> cikcak("OPILECDOSELDOMU" r 3) 0 E S 0 P L C 0 E D M I D L u >>> schody("OPILECDOSELDOMU" r 3) OPI LEC DOS ELD OMU