1
0
forked from tdwojak/Python2017

Upload files to 'homework'

This commit is contained in:
s45168 2017-12-01 22:32:44 +00:00
parent 95733aa1aa
commit cb16eadda1
5 changed files with 180 additions and 124 deletions

View File

@ -1,22 +1,32 @@
#!/usr/bin/env python #!/usr/bin/env python
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
Napisz funkcję char_sum, która dla zadanego łańcucha zwraca Napisz funkcję char_sum, która dla zadanego łańcucha zwraca
sumę kodów ASCII znaków. sumę kodów ASCII znaków.
""" """
def char_sum(text): def char_sum(text):
pass suma_ascii = 0
lista_ascii = []
def tests(f): # lista_znaków = list(text)
inputs = [["this is a string"], ["this is another string"]] for znak in text:
outputs = [1516, 2172] znak_ascii = ord(znak)
lista_ascii.append(znak_ascii)
for input, output in zip(inputs, outputs): for znak2 in lista_ascii:
if f(*input) != output: suma_ascii = suma_ascii + znak2
return "ERROR: {}!={}".format(f(*input), output) return suma_ascii
break # print('suma ASCII: ', suma_ascii)
return "TESTS PASSED"
if __name__ == "__main__": def tests(f):
print(tests(char_sum)) inputs = [["this is a string"], ["this is another string"]]
outputs = [1516, 2172]
for input, output in zip(inputs, outputs):
if f(*input) != output:
return "ERROR: {}!={}".format(f(*input), output)
break
return "TESTS PASSED"
if __name__ == "__main__":
print(tests(char_sum))

View File

@ -1,24 +1,31 @@
#!/usr/bin/env python #!/usr/bin/env python
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
Napisz funkcję sum_div35(n), która zwraca sumę wszystkich liczb podzielnych Napisz funkcję sum_div35(n), która zwraca sumę wszystkich liczb podzielnych
przez 3 lub 5 mniejszych niż n. przez 3 lub 5 mniejszych niż n.
""" """
def sum_div35(n): def sum_div35(n):
pass lista_wejsciowa = range(n)
lista_wyjsciowa = []
def tests(f): suma = 0
inputs = [[10], [100], [3845]] for i in lista_wejsciowa:
outputs = [23, 2318, 3446403] if i % 3 == 0 or i % 5 == 0:
lista_wyjsciowa.append(i)
for input, output in zip(inputs, outputs): for j in lista_wyjsciowa:
if f(*input) != output: suma = suma + j
return "ERROR: {}!={}".format(f(*input), output) return suma
break
return "TESTS PASSED" def tests(f):
inputs = [[10], [100], [3845]]
if __name__ == "__main__": outputs = [23, 2318, 3446403]
print(tests(sum_div35))
for input, output in zip(inputs, outputs):
if f(*input) != output:
return "ERROR: {}!={}".format(f(*input), output)
break
return "TESTS PASSED"
if __name__ == "__main__":
print(tests(sum_div35))

View File

@ -1,26 +1,41 @@
#!/usr/bin/env python #!/usr/bin/env python
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
Napisz funkcję leet_speak, która podmienia w podanym napisie niektóre litery Napisz funkcję leet_speak, która podmienia w podanym napisie niektóre litery
na podobnie wyglądające cyfry: 'e' na '3', 'l' na '1', 'o' na '0', 't' na '7'. na podobnie wyglądające cyfry: 'e' na '3', 'l' na '1', 'o' na '0', 't' na '7'.
Np. leet('leet') powinno zwrócić '1337'. Np. leet('leet') powinno zwrócić '1337'.
""" """
def leet_speak(text): def leet_speak(text):
pass strin = []
for znak in text:
if znak == 'e':
def tests(f): znak1 = '3'
inputs = [['leet'], ['do not want']] strin.append(znak1)
outputs = ['1337', 'd0 n07 wan7'] elif znak == 'l':
znak1 = '1'
for input, output in zip(inputs, outputs): strin.append(znak1)
if f(*input) != output: elif znak == 'o':
return "ERROR: {}!={}".format(f(*input), output) znak1 = '0'
break strin.append(znak1)
return "TESTS PASSED" elif znak == 't':
znak1 = '7'
if __name__ == "__main__": strin.append(znak1)
print(tests(leet_speak)) else:
strin.append(znak)
return ''.join(strin)
def tests(f):
inputs = [['leet'], ['do not want']]
outputs = ['1337', 'd0 n07 wan7']
for input, output in zip(inputs, outputs):
if f(*input) != output:
return "ERROR: {}!={}".format(f(*input), output)
break
return "TESTS PASSED"
if __name__ == "__main__":
print(tests(leet_speak))

View File

@ -1,26 +1,34 @@
#!/usr/bin/env python #!/usr/bin/env python
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
Napisz funkcję pokemon_speak, która zamienia w podanym napisie co drugą literę Napisz funkcję pokemon_speak, która zamienia w podanym napisie co drugą literę
na wielką. Np. pokemon_speak('pokemon') powinno zwrócić 'PoKeMoN'. na wielką. Np. pokemon_speak('pokemon') powinno zwrócić 'PoKeMoN'.
""" """
def pokemon_speak(text): def pokemon_speak(text):
pass i = 0
new_string = []
for j in text:
def tests(f): if i % 2 == 0:
inputs = [['pokemon'], ['do not want'], ['POKEMON']] new_string.append(j.upper())
outputs = ['PoKeMoN', 'Do nOt wAnT', 'POKEMON'] else:
new_string.append(j)
for input, output in zip(inputs, outputs): i = i + 1
if f(*input) != output: return ''.join(new_string)
return "ERROR: {}!={}".format(f(*input), output)
break
return "TESTS PASSED" def tests(f):
inputs = [['pokemon'], ['do not want'], ['POKEMON']]
if __name__ == "__main__": outputs = ['PoKeMoN', 'Do nOt wAnT', 'POKEMON']
print(tests(pokemon_speak))
for input, output in zip(inputs, outputs):
if f(*input) != output:
return "ERROR: {}!={}".format(f(*input), output)
break
return "TESTS PASSED"
if __name__ == "__main__":
print(tests(pokemon_speak))

View File

@ -1,26 +1,42 @@
#!/usr/bin/env python #!/usr/bin/env python
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
Napisz funkcję common_chars(string1, string2), która zwraca alfabetycznie Napisz funkcję common_chars(string1, string2), która zwraca alfabetycznie
uporządkowaną listę wspólnych liter z lańcuchów string1 i string2. uporządkowaną listę wspólnych liter z lańcuchów string1 i string2.
Oba napisy będą składać się wyłacznie z małych liter. Oba napisy będą składać się wyłacznie z małych liter.
""" """
def common_chars(string1, string2): def common_chars(string1, string2):
pass output_list1 = []
output_list2 = []
for j in string1:
def tests(f): if j in string2:
inputs = [["this is a string", "ala ma kota"]] output_list1.append(j)
outputs = [['a', 't']] #print(output_list1)
for i in output_list1:
for input, output in zip(inputs, outputs): if i not in output_list2:
if f(*input) != output: output_list2.append(i)
return "ERROR: {}!={}".format(f(*input), output) for k in output_list2:
break if k == ' ':
return "TESTS PASSED" output_list2.remove(k)
#return output_list2
if __name__ == "__main__": output_list3 = sorted(output_list2)
print(tests(common_chars)) #print(output_list3)
return output_list3
#common_chars("this is a string", "ala ma kota")
def tests(f):
inputs = [["this is a string", "ala ma kota"]]
outputs = [['a', 't']]
for input, output in zip(inputs, outputs):
if f(*input) != output:
return "ERROR: {}!={}".format(f(*input), output)
break
return "TESTS PASSED"
if __name__ == "__main__":
print(tests(common_chars))