IB111 Základy programování František Lachman lachmanfrantisek@mail.muni.cz cvičení 13 13. prosinec 2017 Osnova obrázky čtvrtý domácí úkol pátý domácí úkol závěr semestru Práce s obrázky from PIL import Image im = Image.open(filename).convert("RGB") width, height = im.size im = Image.new("RGB", (width, height)) im.show() r, g, b = im.getpixel((0, 0)) im.putpixel((0, 0), (r + 1, g + 1, b + 1)) Příklad čtverec • 12.1.1. Čtverec Na bílé pozadí o zadané velikosti nakreslete černý čtverec o zadané straně, jehož střed bude umístěn do středu obrázku. Příklady na transformace • 12.2.2. Invertování barev Napište funkci, která invertuje barvy v daném obrázku. 5. Domácí úkol soft-deadline: 20.12. 2017 zpětná vazba hard-deadline: 27.12. 2017 40 bodů (+ bonus) 6 5. Domácí úkol 1. Želvy Udělejte objektovou implementaci želví grafiky s vykreslováním do SVG (na základě kódů uvedených ve slidech k přednášce). Implementujte metody: zadané želvě, pro "otočení směrem k pro "vykreslení spojnice se zadanou želvou". • Za využití těchto metod vytvořte zajímavé obrázky, např. následující (první obrázek je "želví honička", kdy několik želv honí jednu, druhý obrázek vznikne tak, že dvě želvy jdou po kružnici, jedna jde rychleji než druhá, pravidelně vykreslujeme spojnice, barvy řešit můžete, ale nemusíte). 8 5. Domácí úkol 2. Black and white Napište funkci BBH!BW81WRffHI8ff^ která načte obrázek (uložený na cestě BffiBHHl) a převede jej do černobílé. (Transformace obdobná příkladům na přednášce, nebo na cvičení.) 9 5. Domácí úkol 3. zpracování textu (jedna ze dvou možností): Libovolné využití "open data" -► jakákoliv analýza, nebo statistika, která vám přijde zajímavá. K řešení přiložte použitá data. Imitace textu -► Funkce ^^^^^^^^H^EI která načte textový soubor ^^2^3 a náhodně vygeneruje a vrátí text, který bude se souborem sdílet několik statistický vlastností, dle vaší volby. (Frekvence písmen/dvojhlásek, průměrná délka slov,..) Generovaný text by měl alespoň vzdáleně připomínat běžný text. 10 Co Dál? li PYVO - srazy Python programátorů (pvvo.cz) • Brno - každý poslední čtvrtek v měsíci • Olomouc - každý druhý čtvrtek v měsíci • Praha - každou třetí středu v měsíci • Ostrava - každou první středu v měsíci 12 Navazující kurzy • OOP • nízkoúrovňové • neimperativní • semináře verzovací systém spousta tutoriálů o https://git-scm.com/book/cs/v2 (CZ) o https://www.codecademv.com/learn/learn-git o https://trv.github.io/ o https://learngitbranching.is.or školní server: \ŕ GltLab https://gitlab.fi.muni.cz 15 Projekty psané v Pythonu Youtube, Dropbox, Google App Engine, Quora, Instagram, Spotify, Reddit, Totalspy, Pinterest, BitBucket, Blender3D, Civilization IV, Eve Online, Mercurial Source Control, Unity 3D, Anaconda, MusicBrainz Picard, OpenShot Video Editor, OpenStack, Calibre, Gunicorn, Ubuntu Software Center, yum, dnf, Bloodhound,... • skryptoväni: Autodesk Maya, Blender, FreeCAD, GIMP, Inkscape, Rhythmbox, Rhinoceros 3D, Scribus,... 16 PyPI https://pypi.org (https://pypi.pvthon.org/) Balíčkovací systém pro Python. Windows instalace automaticky. j^Linux: 17 webový framework pro Python materiály dianeo-eirls jednoduché programovaní v pythonu + html/css/javascript 18 MicroPython import pyb # turn on an LED pyb.LED(1).on() # print some text to the serial print('Hello MicroPython!') Raspberry PI spousta projektů kolem Pythonu https://proiects.raspberrvpi.org/en/ https://www.raspberrvpi.on 20 Python projekty Pitivi -► Tasks for newcommers svm Easv to Fix outube-dl eas zun ood first issue JARVIS-on-Messenger -► Low-Hanging Fruit Mailpile -► Low Hanging Fruitsa diango easv tickets^ 21 Závěr Připomínky, aneketa Programujte! Programujte v Pythonu Pěkné Vánoce! 22