IB111 Úvod do programovaní skrze python 13. Autor: Slavomír Krupa N-Tice Tuple ★ N-tica (tuple) je dátová štruktúra podobná zoznamu ○ Je možné pristupovať cez indexy, rezy... ★ Má štruktúru nie poradie ★ Zložky často nemajú rovnaký dátový typ ★ Používa sa pre dočasné typy tuple_example = (1, 2, "3") #n-tica list_example = [1, 2, 3] #zoznam list_example[1] = 5 #zoznam povoluje zmeny #ntica je nemenna tuple_example[1] = 5 Dictionary Dictionary ★ Slovník (dictionary, map) je dátová štruktúra reprezentujúca asociatívne pole dictionary = {} # vytvorenie slovniku In_dictionary = {'A': 6, 'Z': 4} var = in_dictionary['A'] # pristup k hodnote dictionary['A'] = 3 #vytvorenie hodnoty in_dictionary['A'] += 3 #zmena existujucej hodnoty Dictionary ★ Nie je zaručené poradie hodnôt in_dictionary = {'A': 6, 'Z': 4} for key in in_dictionary: print(key,':', in_dictionary[key]) # Vypise: # Z : 4 # A : 6 Dictionary ★ Klúčom môžu byť: ○ základné dátové typy (celé číslo, reťazec…) ○ N-tica (nie zoznam!) ○ Užívateľom definované dátové typy (* ak implementuju __hash__ a __eq__) #zakladne datove typy basic = {6:2} #tuple t_dict = {(1,5):"Black"} Dictionary ★ Hodnotou môžu byť ľubovoľné dátové typy basic = {6:2} l_example = {1: [1,2,3]} weird = {"11":6,8:[161],("tuple",2):{1:"1"}} Grafika RGB ★ R(ed)G(reen)B(lue) je aditívny farebný model, pri ktorom svetlo želanej farby vzniká zmiešaním červeného, zeleného a modrého svetla vhodnej intenzity. Zdroj: https://sk.wikipedia.org/wiki/RGB RGB ★ Definujete hodnoty jednotlivých zložiek a podľa toho namiešate farbu. (R,G,B) ★ Alebo použijete color picker: ○ http://www.rapidtables.com/web/color/RGB_Col or.htm ★ Budeme používať knižnicu pillow a triedu Image. ★ Dokumentácia knižnice: https://pillow.readthedocs.io/en/3.4.x/reference/Im age.html Pillow ★ Nový obrázok from PIL import Image #kodovanie farieb,rozmery(sirka,vyska), farba pozadia image = Image.new("RGB", (50, 50), (255, 255, 255)) image.putpixel((1, 1), (0, 0, 0)) image.save("graph.png") image.show() Pillow ★ Existujúci obrázok from PIL import Image #nacitanie obrazku zo suboru a konvertovanie do RGB im = Image.open("file").convert("RGB") #ziskanie rozmerov obrazku width, height = im.size #ziskanie fabry pixelu r, g, b = im.getpixel((0, 0)) Súradnice X Y (0,0) (0,height -1) (width-1,0) (width-1,height -1) Úloha 1 ★ Naprogramujte procedúru, ktorá vykreslí obĺdžnik zadaných rozmerov do obrázku s rozmermi 100x100 a zobrazí výsledok (nebude ho nikde ukladať). ★ rectangle(10,20,(0,0,0)) Úloha 2 ★ Upravte procedúru rectangle. ○ color = farba obĺdžniku ○ start = súradnice bodu vľavo hore ○ end = súradnice bodu vpravo dole ○ image = obrázok kam bude vykresľovať ★ rectangle((89,89),(99,99),(0,0,0),ima ge) Úloha 3 ★ Vytvorte procedúru, ktorá vykreslí šachovnicu ○ Bude mať klasické rozmery 8x8 ○ Štvorec bude mať rozmer 50px ★ chessboard() Ilustračný obrázok Úlohy ★ Vytvorte procedúry, ktoré budú robiť úpravy s existujúcim obrázkom. Ak nemáte žiadny dostupný môžete použiť tento. ○ otočenie existujúceho obrázok o zadaný počet stupňov (dokumentácia rotate) ○ Odstránenie červenej zložky farby ○ Pripojí za existujúci obrázok zrkadlovú kópiu ○ A ďaľšie... Merry Xmas Credits Special thanks to all the people who made and released these awesome resources for free: Presentation template by SlidesCarnival Photographs by Unsplash