# coding: utf8 # Cvičenie 02 -- HOMEWORK """ 1. Hranice krajiny A a krajiny B jsou definované neusporiadanými zoznamami s hraničnímy bodmi (pre zjednodušenie vyjadrené písmenami): countryA_bounds = [“A”, “W”, “X”, “C”, “M”, “K”] countryB_bounds = [ “W”, “O”, “L”, “A”, “K”, “U”, “S”] Napíšte funkciu get_union_bounds(), ktorá vráti nový zoznam s hraničnými bodmi pre hypoteticú krajinu, ktorá by vznikla spojením krajiny A a B. hint: Hraničné body, ktoré se opakujú v oboch zoznamoch nebudú aktuálne pre novú krajinu """ countryA_bounds = ['A', 'W', 'X', 'C', 'M', 'K'] countryB_bounds = [ 'W', 'O', 'L', 'A', 'K', 'U', 'S'] countryAB_bounds = get_union_bounds(countryA_bounds, countryB_bounds) print(countryAB_bounds) # ['A', 'W', 'X', 'C', 'M', 'K', 'O', 'L', 'U', 'S'] """ 2. Napíšte funkciu tree(), ktorá si vyžiada užívateľský vstup z konzoly, konkrétne číslo vyjarujúce počet opakovaní a na základe vstupu do konzoly vykreslí stromček: tree(input("počet:")) >>> počet: 5 # ## ### #### Ošetrite funkciu proti nevalidným vstupom (= všetko okrem kladného celého čísla), a nastate rozumné maximum opakovaní. """ """ 3. Máme 3 zoznamy s názvami krajín, počtom obyvateľov a priemerným ročným rastom populácie (v %). Napíšte funkciu get_estimation() ktorá vypočíta budúci počet obyvateľov. Vstupmi budú 3 zoznamy a počet rokov, výstupom bude zoznam s počtom obyvateľov pre každú krajinu za predpokladu konštantného rastu/úbytku. """ countries = ['Greece', 'Czech Republic', 'Portugal', 'Hungary', 'Sweden'] population = [10769, 10535, 10311, 9835, 9794] growth = [-0.11, -0.06, -0.56, -0.28, 1.03] # príklad s výpočtom stavu po 10tich rokoch population_estimation = get_estimation(countries, population, growth, 10) print(population_estimation) #[['Greece', 10662], ['Czech Republic',10478], ['Portugal', 9802], ['Hungary', 9589], ['Sweden', 10740]] """ 4. Hľadáme minimálny ohraničujúci obdĺžnik (http://support.esri.com/other-resources/gis-dictionary/term/minimum%20bounding%20rectangle) pre hranicu Kambodže (súradnice v premennej bounds). Napíšte funkciu get_mbr() ktorá vráti 4 súradnice obdĺžnika. hint: v zozname súradníc hľadajte minimálnu a maximálnu hodnotu x-ovej a y-ovej súradnice """ bounds = [[103.49728,10.632555], [103.09069,11.153661], [102.584932,12.186595], [102.348099,13.394247], [102.988422,14.225721], [104.281418,14.416743], [105.218777,14.273212], [106.043946,13.881091], [106.496373,14.570584], [107.382727,14.202441], [107.614548,13.535531], [107.491403,12.337206], [105.810524,11.567615], [106.24967,10.961812], [105.199915,10.88931], [104.334335,10.486544], [103.49728,10.632555]] mbr = get_mbr(bounds) print(mbr) # [[102.348099, 14.570584], [107.614548, 14.570584], [102.348099, 10.486544], [107.614548, 10.486544]] """ Bonus1: Skúste sa pohrať s rôznymi variatami funkcie tree() z druhej úlohy, tu je pár námetov: >>> chess(3) #*# *#* #*# >>> diagonal(4) #*** *#** **#* ***# >>> ex(5) #***# *#*#* **#** *#*#* #***# Bonus2: Napíšte funkciu ktorá otestuje či zadaný text je palindróm (https://cs.wikipedia.org/wiki/Palindrom). Funkcia bude ignorovať interpunkciu a tiež veľké/malé písmená. """