Предизвикателства > Пазарски списъци > Решения > Решението на Калоян Иванов

Резултати
2 точки от тестове
0 точки от учител

2 точки общо

4 успешни теста
1 неуспешни теста
Код
Скрий всички коментари

 1memory = {}
 2def memnick(*args):
 3    if len(args) == 0:
 4        def decorator(func):
 5            def wrapper(*fargs, **fkwargs):
 6                result = func(*fargs, **fkwargs)
 7                address, phrase = result.split(",", 1)
 8                address = address.strip().lower()
 9                speaker = func.__name__.lower()
10                memory.setdefault(address, [])
11                record = (speaker, result)
12                if record not in memory[address]:
13                    memory[address].append(record)                
14                return result
15            wrapper.__name__ = func.__name__
16            return wrapper
17        return decorator
18    else:
19        result_list = []
20        for func in args:
21            name = func.__name__.lower()
22            if name in memory:
23                for speaker, phrase in memory[name]:
24                    formatted_speaker = speaker.replace('_', ' ').title()
25                    result_list.append("С гласа на {}: {}".format(formatted_speaker, phrase))
26        return result_list
27            

....F
======================================================================
FAIL: test_memnick_splits_properly (test.TestMemnick.test_memnick_splits_properly)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/test.py", line 89, in test_memnick_splits_properly
self.assertEqual(
~~~~~~~~~~~~~~~~^
["С гласа на Емил: Бай Венци, кажи ми за рисунката."],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
solution.memnick(бай_венци),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
AssertionError: Lists differ: ['С гласа на Емил: Бай Венци, кажи ми за рисунката.'] != []

First list contains 1 additional elements.
First extra element 0:
'С гласа на Емил: Бай Венци, кажи ми за рисунката.'

- ['С гласа на Емил: Бай Венци, кажи ми за рисунката.']
+ []

----------------------------------------------------------------------
Ran 5 tests in 0.002s

FAILED (failures=1)

Дискусия
История
Това решение има само една версия.