diff --git a/labs02/task01.py b/labs02/task01.py index 7c08c56..67c804b 100644 --- a/labs02/task01.py +++ b/labs02/task01.py @@ -7,7 +7,7 @@ która zawiera tylko elementy z list o parzystych indeksach. """ def even_elements(lista): - pass + return(lista[::2]) def tests(f): diff --git a/labs02/task02.py b/labs02/task02.py index a6d6321..103c752 100644 --- a/labs02/task02.py +++ b/labs02/task02.py @@ -5,8 +5,11 @@ Napisz funkcję days_in_year zwracającą liczbę dni w roku (365 albo 366). """ -def days_in_year(days): - pass +def days_in_year(years): + if (years % 4 == 0 and years % 100 != 0) or years % 400 == 0: + return 366 + else: + return 365 def tests(f): inputs = [[2015], [2012], [1900], [2400], [1977]] diff --git a/labs02/task03.py b/labs02/task03.py index a1c3a85..08c374c 100644 --- a/labs02/task03.py +++ b/labs02/task03.py @@ -13,7 +13,12 @@ jak 'set', która przechowuje elementy bez powtórzeń.) def oov(text, vocab): - pass + list_of_words = [] + text_splitted = text.split(' ') + for word in text_splitted: + if word.lower() not in vocab: + list_of_words.append(word.lower()) + return set(list_of_words) diff --git a/labs02/task04.py b/labs02/task04.py index 37413f1..08d4cc0 100644 --- a/labs02/task04.py +++ b/labs02/task04.py @@ -7,8 +7,14 @@ Jeśli podany argument jest mniejszy od 1 powinna być zwracana wartość 0. """ def sum_from_one_to_n(n): - pass + suma = 0 + for i in range(n+1): + suma = suma + i + if n < 1: + return 0 + else: + return suma def tests(f): inputs = [[999], [-100]] diff --git a/labs02/task05.py b/labs02/task05.py index f59268a..961e7eb 100644 --- a/labs02/task05.py +++ b/labs02/task05.py @@ -8,9 +8,10 @@ dwoma punktami przestrzeni trójwymiarowej. Punkty są dane jako trzyelementowe listy liczb zmiennoprzecinkowych. np. odległość pomiędzy punktami (0, 0, 0) i (3, 4, 0) jest równa 5. """ - +from math import sqrt def euclidean_distance(x, y): - pass + + return sqrt(sum((x - y) ** 2 for x, y in zip(x, y))) def tests(f): inputs = [[(2.3, 4.3, -7.5), (2.3, 8.5, -7.5)]] diff --git a/labs02/task06.py b/labs02/task06.py index ff4a9d3..5dcea87 100644 --- a/labs02/task06.py +++ b/labs02/task06.py @@ -10,7 +10,11 @@ ma być zwracany napis "It's not a Big 'No!'". """ def big_no(n): - pass + napis = 'N' + if n < 5: + return "It's not a Big 'No!'" + else: + return napis + n * 'O' + '!' def tests(f): inputs = [[5], [6], [2]] diff --git a/labs02/task07.py b/labs02/task07.py index 80cbd37..6949fee 100644 --- a/labs02/task07.py +++ b/labs02/task07.py @@ -6,7 +6,10 @@ Napisz funkcję char_sum, która dla zadanego łańcucha zwraca sumę kodów ASCII znaków. """ def char_sum(text): - pass + suma = 0 + for c in text: + suma += ord(c) + return suma def tests(f): inputs = [["this is a string"], ["this is another string"]] diff --git a/labs02/task08.py b/labs02/task08.py index 252b10d..0100ab5 100644 --- a/labs02/task08.py +++ b/labs02/task08.py @@ -7,7 +7,12 @@ przez 3 lub 5 mniejszych niż n. """ def sum_div35(n): - pass + suma = 0 + for i in range(n): + if (i+1) < n and (i+1)%3 == 0 and (i+1)%5 == 0: + suma += (i+1) + + return suma def tests(f): inputs = [[10], [100], [3845]] diff --git a/labs02/task09.py b/labs02/task09.py index 9045054..28b9c01 100644 --- a/labs02/task09.py +++ b/labs02/task09.py @@ -9,8 +9,16 @@ Np. leet('leet') powinno zwrócić '1337'. def leet_speak(text): - pass + slownik = {'e':3, 'l':1, 'o':0, 't':7} + dekod = '' + for znak in text: + if znak in slownik: + dekod += slownik[znak] + else: + dekod += znak + + return dekod def tests(f): inputs = [['leet'], ['do not want']] diff --git a/labs02/task10.py b/labs02/task10.py index 58d40d2..2bf4bc9 100644 --- a/labs02/task10.py +++ b/labs02/task10.py @@ -9,8 +9,16 @@ na wielką. Np. pokemon_speak('pokemon') powinno zwrócić 'PoKeMoN'. def pokemon_speak(text): - pass - + wynik = '' + switch = 1 + for znak in text: + if switch == 1: + wynik += znak.upper() + switch *= -1 + else: + wynik += znak + switch *= -1 + return wynik def tests(f): inputs = [['pokemon'], ['do not want'], ['POKEMON']] diff --git a/labs02/task11.py b/labs02/task11.py index 7d36767..62e180d 100644 --- a/labs02/task11.py +++ b/labs02/task11.py @@ -9,7 +9,14 @@ Oba napisy będą składać się wyłacznie z małych liter. """ def common_chars(string1, string2): - pass + wspolne = [] + + for z1 in string1: + for z2 in string2: + if z1 == z2: + wspolne.append(z1) + return wspolne.sort() + def tests(f):