From 54f08133aaa081073b459ae9fca213d7412511db Mon Sep 17 00:00:00 2001 From: s45163 Date: Fri, 1 Dec 2017 23:41:35 +0100 Subject: [PATCH 1/2] python_01 --- labs02/task01.py | 2 +- labs02/task02.py | 11 +++++++++-- labs02/task03.py | 8 +++++++- labs02/task04.py | 8 +++++++- labs02/task05.py | 10 ++++++++-- labs02/task06.py | 6 +++++- labs02/task07.py | 2 +- labs02/task08.py | 8 ++++++-- labs02/task09.py | 14 +++++++++++++- labs02/task10.py | 6 ++++-- labs02/task11.py | 4 +++- 11 files changed, 64 insertions(+), 15 deletions(-) diff --git a/labs02/task01.py b/labs02/task01.py index 7c08c56..7683b35 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..6b2b265 100644 --- a/labs02/task02.py +++ b/labs02/task02.py @@ -5,8 +5,15 @@ Napisz funkcję days_in_year zwracającą liczbę dni w roku (365 albo 366). """ -def days_in_year(days): - pass +def days_in_year(n): + if (n % 4 == 0 and n % 100 != 0) or n % 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..928f6f5 100644 --- a/labs02/task03.py +++ b/labs02/task03.py @@ -13,7 +13,13 @@ jak 'set', która przechowuje elementy bez powtórzeń.) def oov(text, vocab): - pass + list =[] + text_s = text.split() + for i in text_s: + if i.lower() not in vocab: + list.append(i.lower()) + return list + diff --git a/labs02/task04.py b/labs02/task04.py index 37413f1..b51c8f8 100644 --- a/labs02/task04.py +++ b/labs02/task04.py @@ -7,7 +7,13 @@ 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): diff --git a/labs02/task05.py b/labs02/task05.py index f59268a..69d839f 100644 --- a/labs02/task05.py +++ b/labs02/task05.py @@ -8,9 +8,15 @@ 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))) + + # return np.sqrt(np.sum((x-y)**2)) + + + + 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..a90b10e 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 + n_first = 'N' + if n < 5: + return "It's not a Big 'No!'" + else: + return n_first+n*'O'+'!' def tests(f): inputs = [[5], [6], [2]] diff --git a/labs02/task07.py b/labs02/task07.py index 80cbd37..2177efd 100644 --- a/labs02/task07.py +++ b/labs02/task07.py @@ -6,7 +6,7 @@ Napisz funkcję char_sum, która dla zadanego łańcucha zwraca sumę kodów ASCII znaków. """ def char_sum(text): - pass + return sum(ord(char) for char in text) def tests(f): inputs = [["this is a string"], ["this is another string"]] diff --git a/labs02/task08.py b/labs02/task08.py index 252b10d..0f1992c 100644 --- a/labs02/task08.py +++ b/labs02/task08.py @@ -5,9 +5,13 @@ Napisz funkcję sum_div35(n), która zwraca sumę wszystkich liczb podzielnych przez 3 lub 5 mniejszych niż n. """ - def sum_div35(n): - pass + sum = 0 + for n in range(n): + if (n % 3 == 0 or n % 5 == 0): + sum = sum + n + return(sum) + def tests(f): inputs = [[10], [100], [3845]] diff --git a/labs02/task09.py b/labs02/task09.py index 9045054..8ab964b 100644 --- a/labs02/task09.py +++ b/labs02/task09.py @@ -9,7 +9,19 @@ Np. leet('leet') powinno zwrócić '1337'. def leet_speak(text): - pass + newStr = '' + for i in text: + if i == 'e': + newStr += '3' + elif i == 'l': + newStr += '1' + elif i == 'o': + newStr += '0' + elif i == 't': + newStr += '7' + else: + newStr += i + return newStr def tests(f): diff --git a/labs02/task10.py b/labs02/task10.py index f380f0a..76ab4e7 100644 --- a/labs02/task10.py +++ b/labs02/task10.py @@ -9,11 +9,13 @@ na wielką. Np. pokemon_speak('pokemon') powinno zwrócić 'PoKeMoN'. def pokemon_speak(text): - pass + slowo = ''.join([text[i].upper() if i % 2 == 0 else text[i] for i in range(0, len(text))]) + return slowo + def tests(f): - inputs = [['pokemon'], ['do not want'], 'POKEMON'] + inputs = [['pokemon'], ['do not want'], ['POKEMON']] outputs = ['PoKeMoN', 'Do nOt wAnT', 'POKEMON'] for input, output in zip(inputs, outputs): diff --git a/labs02/task11.py b/labs02/task11.py index 7d36767..de296d4 100644 --- a/labs02/task11.py +++ b/labs02/task11.py @@ -9,7 +9,9 @@ Oba napisy będą składać się wyłacznie z małych liter. """ def common_chars(string1, string2): - pass + slowo = sort(sum(c1 == c2 for c1, c2 in zip(string1, string2))) +print (slowo) + def tests(f): From b1299c5c494f5c3f3068ea99a31b0f5db411ab38 Mon Sep 17 00:00:00 2001 From: s45163 Date: Sat, 2 Dec 2017 09:30:37 +0100 Subject: [PATCH 2/2] python_01 --- labs02/task11.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/labs02/task11.py b/labs02/task11.py index de296d4..1705b5f 100644 --- a/labs02/task11.py +++ b/labs02/task11.py @@ -9,11 +9,26 @@ Oba napisy będą składać się wyłacznie z małych liter. """ def common_chars(string1, string2): - slowo = sort(sum(c1 == c2 for c1, c2 in zip(string1, string2))) -print (slowo) + + string1 = set(string1.replace(" ","")) + string2 = set(string2.replace(" ","")) + + common = [] + for c1 in string1: + for c2 in string2: + if c1 == c2: + common.append(c1) + common.sort() + return common + + + # slowo = sum( c1 == c2 for c1, c2 in zip(string1, string2)) + # print(slowo) + # return slowo + def tests(f): inputs = [["this is a string", "ala ma kota"]] outputs = [['a', 't']]