forked from tdwojak/Python2017
zad_dom_07
-"-
This commit is contained in:
parent
f5538df1e6
commit
c3050ee90a
42
labs02/task07_done.py
Normal file
42
labs02/task07_done.py
Normal file
@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
"""
|
||||
Napisz funkcję char_sum, która dla zadanego łańcucha zwraca
|
||||
sumę kodów ASCII znaków.
|
||||
"""
|
||||
def dekodowanie(text):
|
||||
sum = 0
|
||||
for c in text:
|
||||
char_ascii = ord(c)
|
||||
sum += char_ascii
|
||||
return char_ascii
|
||||
|
||||
|
||||
def char_sum(a):
|
||||
if isinstance(a, str):
|
||||
return dekodowanie(a)
|
||||
elif isinstance(a, list):
|
||||
overall = 0
|
||||
for i in a:
|
||||
overall += dekodowanie(i)
|
||||
return overall
|
||||
|
||||
### gdzieś mam błąd, którego nie umiem zidentyfikować,
|
||||
# poniweż niepoprawnie mi wykonuje dekodowanie/sumowanie dla zagnieżdżonych list w liście.
|
||||
# wysyłam do momentu, w którym miałam wrażenie, że wiem o co chodzi. ;)
|
||||
|
||||
def tests(f):
|
||||
inputs = [["this is a string"], ["this is another string"]]
|
||||
#inputs = [["ala ma kota"], ["ala ma kota"]]
|
||||
#outputs = [1516, 2172]
|
||||
outputs = [103, 103]
|
||||
#outputs = [97, 97]
|
||||
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))
|
Loading…
Reference in New Issue
Block a user