Adobe Systems F1420 – Slovníky 1 Slovníky 1 Kryštof Mrózek (445429@mail.muni.cz) Kristína Tomanková (kristinatomankova@mail.muni.cz) Radoslav Brunovský (rbrunovsky@mail.muni.cz) Adobe Systems F1420 – Slovníky 2 Zoznamy vs slovníky ̶Priraďujeme hodnoty k indexom zoznamu: 0 1 2 3 ‘jablko’ ‘mrkva’ ‘jogurt’ ‘chlieb’ ̶Nemáme žiadne poradie, ale hodnoty priraďujeme ku kľúčom ̶ ‘ovocie’ ‘zelenina’ ‘mliečne’ ‘pečivo’ ‘jablko’ ‘mrkva’ ‘jogurt’ ‘chlieb’ Zoznam Slovník Adobe Systems F1420 – Slovníky 3 Zápis slovníku ̶Využívame zložené zátvorky: ̶Vytvorenie nového slovníka: prázdny slovník názov slovníka kľúč hodnota oddelenie kľúčov pokračujeme rovnako Čo sa týka kľúčov a hodnôt, tak v tomto príklade som využila typ string pre oba objekty. Nemusia to byť ale iba stringy. Adobe Systems F1420 – Slovníky 4 Kľúč + hodnota Čokoľvek: •Str •Int •Float •Bool •List •Tuple •Dict ... Nemeniteľné objekty (immutable) = po vytvorení už nemôžeme objekt nijako meniť: •Str •Int •Float •Bool •Tuple ... List nie! Dict nie! Adobe Systems F1420 – Slovníky 5 Cvičenie ̶Vytvorte a vypíšte slovník, ktorý bude obsahovať 3 kľúče: meno študenta, vek študenta, zoznam jeho 3 obľúbených predmetov. Hodnoty zvoľte ľubovoľne. Adobe Systems F1420 – Slovníky 6 Indexovanie pomocou kľúčov ̶K danej hodnote sa dostaneme pomocou jej kľúču, ktorý je unikátny: V prípade nesting indexujeme postupne. Adobe Systems F1420 – Slovníky 7 Cvičenie ̶V študijných materiáloch nájdete súbor “Dict_index.py“, v ktorom sa nachádza tento slovník: ̶ ̶ ̶ ̶ ̶Pomocou indexov vypíšte: ̶vek 16 ̶predmet 'fyzika‘ ̶známku 2 Slovník v slovníku (nesting) Zápis slovníka vo viacerých riadkoch je úplne ekvivalentný zápisu v riadku, ale je to prehľadnejšie v prípade už dlhších slovníkov. Adobe Systems F1420 – Slovníky 8 Cvičenie ̶V študijných materiáloch nájdete súbor “Dict_index.py“, v ktorom sa nachádza tento slovník: ̶ ̶ ̶ Povšimnite si teda to, že na hodnoty sa odkazujeme pomocou kľúču, to znamená, že jednému kľúču musí zodpovedať práve jedna hodnota. Adobe Systems F1420 – Slovníky 9 Zamyslenie ̶Je možné vytvoriť takýto slovník? ̶ ̶Je možné vytvoriť takýto slovník? ̶ ̶ ̶ ̶Čo sa stane v oboch prípadoch? Adobe Systems F1420 – Slovníky 10 Alternatívne zápisy slovníku True Cvičenie: Vyskúšajte pomocou tohto zápisu vytvoriť slovník tak, že zoznamy kľúčov a hodnôt nebudú rovnako dlhé. Adobe Systems F1420 – Slovníky 11 Cvičenie ̶Do vášho slovníku pridajte kľúč, ktorý popíše, či študent vie hovoriť po anglicky. Adobe Systems Define footer – presentation title / department 12 Záverečné cvičenie ̶Máte daný zoznam čísel [5, 10, 15, 20, 25]. Pomocou for cyklu vytvorte nový zoznam, ktorý bude obsahovať druhé mocniny týchto čísel. Následne tieto dva zoznamy spojte do slovníka takto: {číslo: druhá mocnina}. Adobe Systems F1420 – Slovníky 13 Záverečné cvičenie ̶V študijných materiáloch nájdete súbor “Dict_gravitace.py“. V tomto súbore je definovaná hmotnosť telesa (m_teleso) a slovník planét s ich hmotnosťami (M) a ťiažovými zrýchleniami (g). ̶Napíšte dve funkcie: •Prvá funkcia vezme na vstupe databázu planét, dve planéty a vzdialenosť medzi nimi (4 argumenty) a vypíše gravitačnú silu, akou na seba tieto planéty pôsobia. •Druhá funkcia vezme na vstupe databázu planét a jednu planétu (2 argumenty) a vráti tiažovú silu, ktorá na tejto planéte pôsobí na teleso.