# coding: utf8 # Cvičenie 01 """ O. KOMENTÁRE Komentáre sa pri spustení programu ignorujú, a tým umožňujú do kódu vkladať ľubovoľné poznámky, čo je princíp ktorý využijeme v našich cvičeniach. Komentáre cez viac riadkov (ako ten ktorý práve čítate) označujeme trojitými úvodzovkami... """ # ...komentár na jeden riadok stačí označiť úvodnou mriežkou """ 1. PREMENNÉ (variables) Premenná je rezervované a pomenované miesto v pamäti ktoré nesie nejakú priradenú hodnotu. To sa nám zíde kedykoľvek budeme potrebovať v kóde uchovať nejakú informáciu pre ďalšie použitie. """ """ 1A: Priraďovanie hodnoty premennej """ apples = 11 # číslo typu integer train = 52.56 # číslo typu float word = 'ahoj' # text uzavrieme do úvodzoviek """ Pozor na: -- miešanie dátových typov: wrong1 = 'hello'45 wrong2 = 12men wrong3 = 7'apples' -- chyby pri priraďovaní: wrong4 = wrong5 = 'hello wrong6 = 158 597 wrong6 = 158,597 # should be 158.597 -- zakázané názvy premenných: 12train = 'názov nesmie začínať číslom' train-variable = 'nesmie obsahovať špeciálne symboly (okrem _)' hi there = 'len jednoslovné názvy' """ slovo = word # priradenie hodnoty z už existujúcej (!) premennej no1, no2 = 1, 2 # viacnásobné priradenie no1, no2 = no2, no1 # výmena hodnôt v premenných """ 2. PRÍKAZ print() Príkaz na vypísanie výstupu do konzoly, vhodné pre testovanie """ print('hello world') fruit = 'banana' print(fruit) print('favourite fruit: ' + fruit) # sčítanie textu (concatenation) # formátovanie textu, umožňuje pridanie číselných premenných do textového výstupu # a o mnoho viac https://pyformat.info/ number_of_apples = 12 print('my favourite fruit is {0}, but I have {1} apples.'.format(fruit, number_of_apples)) """ 3. CÍSLA 3A: NUMERICKÉ TYPY int (signed integers): celé, kladné aj záporné float (floating point real values) : reálne čísla, možná aj vedecká notácia 2.5e2 (= 2.5 x 10**2 = 250). """ litres_of_milk = 2.17 # float number_of_people = 3 # integer number_of_people_fl = 3. # float # konverzia float(number_of_people) int(litres_of_milk) """ 3B: TROCHA MATEMATIKY """ print(2 + 3) print(2.14 - 0.58) print(2 * 1.78) print(5.14 / 3) # to isté by sa dalo robiť s premennými # negácia money_yesterday = 120 money_missing = -money_yesterday # modulo - zvyšok po celočíselnom delení apples = 27 apples_for_pie = 5 apples_not_used = apples % apples_for_pie # exponent square1_edge = 2 square1_area = pow(square1_edge, 3) # alebo square1_edge ** 2 square2_area = 3 square2_edge = pow(square2_area, 0.5) # increment, decrement region_inhabitants = 1532 region_inhabitants += 29 # immigration, region_inhabitants = 1561 region_inhabitants -= 15 # emigration, region_inhabitants = 1546 # porovnanie: coef1 = 2.145 coef2 = 1.245 coef3 = 0.475 print(coef1 > coef2) print(coef1 <= coef3) print(coef3 == coef2) print(coef3 != coef2) """ 3C: NUMERICKÉ FUNKCIE """ # round() # celočíselné invited_people = 157 inviting_effectivity = 0.43 expected_people = round(invited_people * inviting_effectivity) # na desatinné miesta two_decimals = round(12.131321, 2) # maximum max(), minimum min() region1 = 156 region2 = 17 region3 = 478 region4 = 69 regions_max = max(region1, region2, region3, region4) regions_min = min(region1, region2, region3, region4) """ 4. TEXT (strings) """ a_string = 'hello-world!' print('value of my string is', a_string) # získanie podmnožiny textu (substring) pomocou indexovania print(a_string[0]) print(a_string[-1]) print(a_string[0:5]) print(a_string[5:]) # je vzorka súčasťou textu? a_string = 'hello world!' print('a' in a_string) print('hello' in a_string) # sčítavanie už poznáme a = 'hello' b = 'world!' print(a + b) # násobenie a = 'hello' print(a * 4) # porovnanie name = "Bob" print(name == "Alex") # na ktorej pozícii sa vzotka v texte nachádza? hello_string = 'hello world!' print(hello_string.find('a')) print(hello_string.find('l')) print(hello_string.find('hello')) # kde začať a kde ukončiť hľadanie hello_string = 'hello world!' print(hello_string.find('l', 4)) print(hello_string.find('o', 0, 5)) # počet výskytov hello_string = 'hello world!' print(hello_string.count('l')) # dĺĺĺžka example_string = 'a c' print(len(example_string)) # výmena example_string = 'hello world!' print(example_string.replace('world', 'python')) """ 5. BOOLEANS """ # 0, prázdny reťazec, None --> False number1 = 0 number2 = 0.0 number3 = 15 print(bool(number1)) print(bool(number2)) print(bool(number3)) text1 = 'hello' text2 = '' print(bool(text1)) print(bool(text2)) nothing = None print(bool(nothing)) """ 6. KONVERZIA MEDZI DÁTOVÝMI TYPMI """ # int() print(int(21.75)) print(int('456')) print(int(False)) # float() print(float('1.2456')) print(float(12)) print(float(True)) # str() print(str(12)) print(str(False)) # bool() print(bool(-1)) print(bool('hallo')) print(bool('')) print(bool(0)) """ 7. FUNKCIE Pomenované bloky kódu, ktoré sú relatívne izolované a autonómne. Ak chceme nejakú operáciu vykonať viac krát, je vhodné ju definovať ako funkciu. Funkcia nám slúži ako všeobecný recept, do ktorého pri volaní dosádzame konkrétne parametre. """ """ 7.A DEFINÍCIA A VOLANIE """ # definícia & volanie def print_hello(): print('hello') print_hello() # definícia & volanie lepšie def printer(to_be_printed): print(to_be_printed) printer('hello') # vraciame výstup z funkcie def add2(a, b): return(a + b) print(add2(4, 6)) sucet = add2(3, 2) print(sucet) # predvolené hodnoty parametrov def add2d(a = 1, b = 2): return(a + b) print(add2d()) """ 7.B GLOBÁLNE vs LOKÁLNE PREMENNÉ Čo sa definuje lokálne vo funkcii ostáva vo funkcii, zatiaľ čo premenné definované mimo funkcie (globálne) sú použiteľné všade -- aj vo vnútri funkcie """ # pr. 1 favourite_color = 'blue' def change_favourite_color(new_color): favourite_color = new_color print('favourite_color should be changed to', favourite_color) change_favourite_color('pink') print(favourite_color) # pr. 2 favourite_color = 'blue' def what_is_my_favourite_color(): print('my favourite color is', favourite_color) what_is_my_favourite_color() # pr. 3 favourite_color = 'blue' def change_favourite_color(new_color): global favourite_color favourite_color = new_color change_favourite_color('pink') print(favourite_color) # pr. 4 def create_local_variable(local_value): local_variable = local_value print(local_variable) create_local_variable('hello local') print(local_variable)