#!/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))