HOMEWORK 1 - Name recogniser Zadání : - na vstupu se zeptejte uživatele na jeho jméno a uložte jej do proměnné name - předpokládáme, že toto jméno se bude skládat ze dvou slov - křestní jméno a příjmení oddělené mezerou - pokuste se oddělit do jednotlivých proměnných zvlášť křestní jméno a příjmení a po jednom je vypište do konzoly Řešení : name = input('what is your name? ') # getting index of space " " space_index = name.find(' ') # first name begins with index 0 and ends with index of space character first_name = name[0:space_index] # family name begins with index of space character +1 and ends with last character of name value family_name = name[space_index +1 :len(name)] # we can also use family_name = name[space_index + 1:] #printing print ('your first name is', first_name) print ('your family name is', family_name) HOMEWORK 2 - Fortune Teller Zadání : - vytvořte “věštící aplikaci”, která bude odhadovat věk, kterého se osoba dožije podle zadaného jména - pro věk dožití se nejprve vynásobí počet znaků ve jménu číslem 4 - za každé písmeno “l” ve jméně se potom přičítá 5 let - za každé písmeno “m” se naopak 5 let odpočítá - odhadovaný věk i se jménem osoby pak vypište do konzoly Řešení : name = input('what is your name? ') # getting number of characters in name no_chars = len(name) # you can also minus all space characters space_count = name.count(' ') no_chars -=space_count # getting age age = no_chars * 4 # summing lower and upper cases count_l = name.count('l') + name.count('L') count_m = name.count('m') + name.count('M') age = age + count_l * 5 - count_m * 5 print('Hello', name, 'your age estimation is', age) Poznámky : - v zadání nejsou vzpomenuta velká písmena ani mezery - aplikace těchto pravidel v řešení je tedy spíše dobrovolná HOMEWORK 3 - Party Calculator Zadání : Řešení : no_adults = int(input('type number of adults: ')) no_children = int(input('type number of children: ')) ticket_price = float(input('type price of ticket: ')) price_ice = 19.99 price_beer = 12.99 # money for selling tickets tickets_total = (no_children + no_adults) * ticket_price # how much will cost one adult and one child price_adult = price_ice + 4 * price_beer price_child = 2 * price_ice # getting result value price_sum = no_adults * price_adult + no_children * price_child - tickets_total vytvořte aplikaci “party calculator”, která odhadne cenu oslavy uživatele se dotažte na počet dospělých hostů, počet dětí a na vstupné za osobu cena porce zmrzliny je 19.99, lahev piva stojí 12.99 děti snědí 2 porce zmrzliny dospělí snědí jenom 1 porci zmrzliny ale zato vypijí 4 lahve piva cena vstupného je jednotná pro dospělé a děti print (price_sum) Poznámky : - input() ukládá hodnotu jako text, proto je potřeba převést hodnotu na číslo pomocí int() nebo float(). V případě lístku počítáme spíše s float(). HOMEWORK 4 - Distances Zadání : - vypočtěte vzdušnou vzdálenost mezi městy Brno a Ostrava pomocí souřadnic v systému UTM - výpočet zjednodušte: rozdíl jednoho stupně berte jako 111,12 km - pracujte s pythagorovou větou a předpokládejte, že souřadnice jsou v pravoúhlém systému - brno_lat = 49.2002214; brno_lon = 16.6078414 - ostrava_lat = 49.8346453; ostrava_lon = 18.2820442 - (výsledek bude hodně skreslený) Řešení : brno_lat = 49.2002214 brno_lon = 16.6078414 ostrava_lat = 49.8346453 ostrava_lon = 18.2820442 grade_to_km = 111.12 # difference between latitudes and longitudes # abs() is used for not getting negative value, but it is not necessary diff_lat = abs(brno_lat - ostrava_lat) diff_lon = abs(brno_lon - ostrava_lon) # Pythagoras multiplied by conversion to kilometers distance = pow((diff_lat ** 2 + diff_lon ** 2), 0.5) * grade_to_km print(distance) Poznámky : - použití abs() není nutné, výsledek by to nemělo změnit - hodnota ** 2 je ekvivalentem pow(hodnota, 2) - druhá odmocnina se řeší pomocí pow(hodnota, 0.5) (zatím) - pro reálnou hodnotu by bylo potřeba ještě vynásobit výsledek kosinem zeměpisné šířky, což je zhruba 0.648