From fa0165c8f4db131b07e61570114706fcc1a95105 Mon Sep 17 00:00:00 2001 From: szwedek Date: Wed, 29 Nov 2017 14:43:45 +0100 Subject: [PATCH] Zadania domowe labs02 --- labs02/task01.py | 2 +- labs02/task02.py | 8 ++++++-- labs02/task03.py | 9 +++++++-- labs02/task04.py | 17 ++++++++++++++++- labs02/task05.py | 4 +++- labs02/task06.py | 5 ++++- labs02/task07.py | 6 +++++- labs02/task08.py | 6 +++++- labs02/task09.py | 2 +- labs02/task10.py | 8 +++++++- labs02/task11.py | 3 +-- labs02/test_task.py | 3 --- 12 files changed, 56 insertions(+), 17 deletions(-) diff --git a/labs02/task01.py b/labs02/task01.py index 7c08c56..ee754f9 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..9034cd1 100644 --- a/labs02/task02.py +++ b/labs02/task02.py @@ -5,8 +5,12 @@ 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..fba5ffa 100644 --- a/labs02/task03.py +++ b/labs02/task03.py @@ -13,8 +13,13 @@ jak 'set', która przechowuje elementy bez powtórzeń.) def oov(text, vocab): - pass - + text_list = text.casefold().replace("(", "").replace(",", "").replace("[", "").replace(" "," ").split(" ") + set_text = set(text_list) + string_vocab = str() + for i in vocab: + string_vocab +=i.lower()+" " + vocab_list = string_vocab.replace(",", "").split(" ") + return list(set(text_list) - set(vocab_list)) def tests(f): diff --git a/labs02/task04.py b/labs02/task04.py index 37413f1..a0b335c 100644 --- a/labs02/task04.py +++ b/labs02/task04.py @@ -6,8 +6,23 @@ Napisz funkcję sum_from_one_to_n zwracającą sume liczb od 1 do n. Jeśli podany argument jest mniejszy od 1 powinna być zwracana wartość 0. """ +""" def sum_from_one_to_n(n): - pass + if n>=0: + return n*(n+1)/2 + else: + return 0 +""" + +def sum_from_one_to_n(n): + if n>=0: + suma = 0 + for i in range(n): + suma+=i+1 + return suma + else: + return 0 + def tests(f): diff --git a/labs02/task05.py b/labs02/task05.py index f59268a..5980ade 100644 --- a/labs02/task05.py +++ b/labs02/task05.py @@ -9,8 +9,10 @@ trzyelementowe listy liczb zmiennoprzecinkowych. np. odległość pomiędzy punktami (0, 0, 0) i (3, 4, 0) jest równa 5. """ +import math + def euclidean_distance(x, y): - pass + return math.sqrt(pow(x[0]-y[0],2)+pow(x[1]-y[1],2)+pow(x[2]-y[2],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..5576dc9 100644 --- a/labs02/task06.py +++ b/labs02/task06.py @@ -10,7 +10,10 @@ ma być zwracany napis "It's not a Big 'No!'". """ def big_no(n): - pass + if n>=5: + return "N"+"O"*n+"!" + else: + return "It's not a Big 'No!'" def tests(f): inputs = [[5], [6], [2]] diff --git a/labs02/task07.py b/labs02/task07.py index 80cbd37..08c39b5 100644 --- a/labs02/task07.py +++ b/labs02/task07.py @@ -6,7 +6,11 @@ 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 i in text: + suma+=ord(i) + 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..53214a0 100644 --- a/labs02/task08.py +++ b/labs02/task08.py @@ -7,7 +7,11 @@ przez 3 lub 5 mniejszych niż n. """ def sum_div35(n): - pass + suma = 0 + for i in range(n-1): + if (i+1) % 3 == 0 or (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..65f832d 100644 --- a/labs02/task09.py +++ b/labs02/task09.py @@ -9,7 +9,7 @@ Np. leet('leet') powinno zwrócić '1337'. def leet_speak(text): - pass + return text.replace("e","3").replace("l","1").replace("o","0").replace("t","7") def tests(f): diff --git a/labs02/task10.py b/labs02/task10.py index 58d40d2..174aebd 100644 --- a/labs02/task10.py +++ b/labs02/task10.py @@ -9,7 +9,13 @@ na wielką. Np. pokemon_speak('pokemon') powinno zwrócić 'PoKeMoN'. def pokemon_speak(text): - pass + text2= str() + for i, t in enumerate(text): + if i % 2 == 0: + text2 += t.upper() + else: + text2 += t + return text2 def tests(f): diff --git a/labs02/task11.py b/labs02/task11.py index 7d36767..56c16d1 100644 --- a/labs02/task11.py +++ b/labs02/task11.py @@ -9,8 +9,7 @@ Oba napisy będą składać się wyłacznie z małych liter. """ def common_chars(string1, string2): - pass - + return sorted(list(set(string1).intersection(set(string2)).difference(set(" ")))) def tests(f): inputs = [["this is a string", "ala ma kota"]] diff --git a/labs02/test_task.py b/labs02/test_task.py index 6875a37..e074f0e 100755 --- a/labs02/test_task.py +++ b/labs02/test_task.py @@ -3,9 +3,6 @@ def suma(a, b): - """ - Napisz funkcję, która zwraca sumę elementów. - """ return a + b def tests(f):