Pokyny Odovzdávajte jeden súbor ​du6.py​ do odovzdávarne určenej pre vašu skupinu. Deadline je 29.12.2016 23:59 ● Používajte anglické premenné a názvy funkcií. ● Ku každej časti napíšte koľko vám zabrala (v minútach). ● Odovzdávajte aj čiastočné riešenia s komentárom prečo sa vám to nepodarilo ● Neodpisujte. ● Funkcie a parametre musia byť pomenované podľa zadania ● Odovzdaný skript by nemal nič spúšťať. ● V prípade otázok alebo nejasností mi napíšte mail. Spracovanie súboru V prvej časti budete spracovávať známky ​študentov​. V priečinku so zadaním domácej úlohy sa nachádza súbor ​test_data.csv​, ktorý obsahuje záznamy o výsledkoch študentov v prvých 3 semestroch. Súbor je vo formáte ​.csv​ (mal by sa dať otvoriť v Exceli, Libre Office Calc, atď) a interne vyzerá nasledovne: user_id;name;surname;semester;subject;grade; 1628046;Bettina;greig;1;System networks;1; 50531839;Tera;greig;1;Drama;2; 95160157;Francene;cribb;1;English;4; 12012385;Florentina;west;3;Drama;4; 31684556;Dorian;auguste;2;Art;2; Na prvom riadku je hlavička obsahujúca popis jednotlivých polí a na ďalších riadkoch sú samotné záznamy. Každý záznam obsahuje nasledovné položky: 1. user_id ​- identifikátor študenta (celé nezáporné číslo) - jednoznačná identifikácia žiaka - tzn môžu byť dvaja študenti s rovnakým menom a priezviskom, ale budú rozlíšený pomocou identifikátoru. 2. name ​- meno študenta (reťazec) 3. surname ​- priezvisko študenta (reťazec) 4. semester ​- číslo semestru (celé nezáporné číslo) 5. subject ​- názov predmetu (reťazec) 6. grade ​- známka (celé nezáporné číslo) Priemer pre predmet (4 bodov) Prvou úlohou bude spočítať priemer pre každý predmet a vypísať v tvare: názov predmetu = priemer Kde priemer bude vypísaný na dve desatinné miesta (viď dokumentácia https://docs.python.org/3/library/string.html#format-specification-mini-language​) Príklad: average_per_subject( ​"test_data.csv"​) English = 2.84 System networks = 2.73 Math = 2.73 Drama = 2.54 Art = 2.68 Programming in C++ = 2.81 Programming in Java = 2.98 Programming in Python = 2.72 Mená študentov so všetkými predmetmi (5 bodov) V tejto úlohe spočítate pre každého žiaka predmety, ktoré úspešne ukončil najväčší počet predmetov. Pokiaľ takýchto študentov bude viac tak vypíšte všetkých takýchto študentov. Môžete predpokladať, že žiak mohol predmet opakovať len ak ho v predošlom pokuse nespravil. Tzn. žiadny žiak nebude mať jeden predmet s dvomi úspešnými ukončeniami. Poznámka: Ukončenie známkou 5 nie je úspešne ukončený predmetu. Príklad: all_subjects_done( ​"test_data.csv"​) Francene hazelgreave 8 Pandora travers 8 Grafika Stĺpcový graf pre rozloženie známok (7 bodov) Vykreslite stĺpcový graf, ktorý bude reprezentovať rozloženie všetkých známok študentov. Poznámky: ● Pre úlohu si vytvorte funkciu, ktorá vykreslí obdĺžnik (vstupné parametre budú súradnice bodov na diagonále) ● Jednoduchšia varianta je vykreslenie obrázku naopak (“dole hlavou”) a potom otočenie pomocou ​rotate​. ● Ak neviete aké farby použiť pre jednotlivé známky môžete použiť nasledovné: colors = [(​0​, ​200​, ​0​), (​50​, ​200​, ​50​), (​255​, ​127​, ​80​), (​200​, ​100​, ​100​), (​200​, ​0​, ​0​)] Príklad výstupu: grades_distribution( ​"test_data.csv"​) Trojfarebná šachovnica (9 bodov) Poslednou úlohou bude vykresliť šachovnicu s tromi farbami. Šachovnica bude mať 9x9 polí. Pričom rozmer polí bude možné meniť parametrom ​size​. Ďalšie parametry procedúry sú n-tice s farbami (celkovo 3 n-tice - ​first_color, second_color, third_color) Na prvom riadku sa striedajú farby v poradí od prvej po poslednú (tzn. 1,2,3,1…) a na ďalšom riadku sa začína farbou, ktorá bola v predošlom riadku na druhej pozícii (tzn. pre druhý riadok 2,3,1,2,...).Skúste sa zamyslieť nad vzorcom čo túto zmenu vyjadruje (súčet riadku a stĺpcu) a nenapísať to pomocou ​if else ​:) Poznámky: ● Pre úlohu si vytvorte funkciu, ktorá vykreslí obdĺžnik (vstupné parametre budú súradnice bodov na diagonále) ● Uvážte vytvorenie triedy ​Point​, ktorá by vám mohla uľahčiť prácu s premennými, ktoré reálne reprezentujú body. Príklady metód: násobenie súradníc bodov, sčítanie súradníc bodov a prevod do n-tice. Príklad volania: tricolor_chessboard(​size​=​20​, ​first_color​=(​0​, ​0​, ​255​), ​second_color​=(​0​, ​255​, ​0​), third_color​=(​255​, ​0​, ​0​)) tricolor_chessboard(​size​=​100​, ​first_color​=(​255​, ​255​, ​255​), ​second_color​=(​127​, ​127​, 127​), ​third_color​=(​0​, ​0​, ​0​))