import hashlib # 1. Funkcia na vygenerovanie zoznamu k nahodnych cisel z intervalu <0,100>. # DU: Upravte na vygenrovanie z intervalu . def rand_list(k): pass # print(rand_list(5)) # 2. Funkcia ktora vrati zoznam zrotovany o k pozicii. #shift([1,2,3], 1) --> [3,1,2] def shift(l, k): pass # print(shift([1,2,3], 1)) #3. Funkcia vrati retazec medzi zadanymi retazcami. Ake funkcie budeme potrebovat? #str_between("123456", "12", "5") --> "34" def str_between(source, str1, str2): pass # print(str_between("123456", "12", "5")) #4. Napiste funkciu na tlac zoznamu, kde na kazdom riadku bude index, hodnota. ''' print_list([12,4,5]): 0, 12 1, 4 2, 5 Upravte, aby si clovek mohol vo funkcii zvolit ci sa vypise index a aky znakom su hodnoty oddelene. ''' def print_list(l): pass #print_list([12,4,5], print_index = True, delimiter = ':') # --> 12: 4: 5 #5. Funkcia vrati najmensie slovo v zozname slov. #text_stat(['ahoj','ja','ona']) --> 'ja' #a) Upravte aby vratila najmensie, najvacsie slovo a priemernu dlzku slova (naraz!). def text_stat(word_list): pass # print(text_stat(['ahoj','ja','ona'])) #6. Vypocitajte statistiku(frekvenciu) cisel 0 ... 100 v zozname s nahodnymi hodnotami z <0,100>. #freqs([0,0,1,0,2,2]) --> [3,1,2] #DU: spocitajte frekvenciu ale pouzite co najmensi zoznam (HINT: ukladajte si dvojicu cislo, frekvencia namiesto frekvencia). def freqs(l): pass # print(freqs([0,0,1,0,2,2])) ########################################################################################## ######################################Tazsie############################################# #1. Polynom je zadany ako zoznam napr. [0,1,2] reprezentuje 0+1*x+2*x^2. Napiste funkciu na vyhodnotenie polynomu evaluate([0,1,2], 3) --> 0 + 3 + 18 def evaluate(polynomial_list, x): pass #2. Napiste funkciu na sumu(lahke)/derivaciu(lahke)/sucin(tazsie) polynomov. def add(poly1, poly2): pass # print([0,1,2,3], [0,0,1]) def der(poly1): pass #zderivujte x^3 + 2x + 4 def mul(poly1, poly2): pass #vynasobte x^2+x+1, x^2-x+1 #3. Narodeninovy paradox: Kolko ludi v priemere potrebujete aby pravdepodobnost # ze 2 sa narodili v rovnaky den je > 50%. Vo funkcii simulujte. def birthday_paradox(num_days = 365): pass #4. Hladanie hesla: Najdite heslo zlozene z 3 slov(bez medzier) s md5 hashom # 279c6d9efb0598663f5a485f5e18875e. Viete ze boli pouzite niektore slova z textu https://www.gutenberg.org/files/84/84-0.txt. Nezabudnite text ocistit of interpunkcie "," "?" "-" ... #nacitanie textu zo subora do def load_file(filename): with open(filename, 'r') as f: return f.read() print("No file %s"%filename) # print(load_file('CV05.py')) def password_hash(s): return hashlib.md5(s.encode()).hexdigest() password = '' # print("%s is not 279c6d9efb0598663f5a485f5e18875e"%password_hash(password))