Предизвикателства > Мемник > Решения > Решението на Никол Николова

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

2 точки общо

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

 1memory = {}
 2
 3def memnick(*args):
 4    if not args:
 5        def decorator(func):
 6            def remember(*args, **kwargs):
 7                phrase = func(*args, **kwargs)
 8                name = phrase.split(",")[0]
 9                if name not in memory:
10                    memory[name] = set()
11                memory[name].add((func.__name__, phrase))
12                return phrase
13            remember.__name__ = func.__name__
14            return remember
15        return decorator
16    result = []
17    for func in args:
18        name = func.__name__.replace("_", " ").title()
19        for voice_name, phrase in memory.get(name, []):
20            result.append("С гласа на {}: {}".format(voice_name.replace("_", " ").title(), phrase))
21    return result

..F..
======================================================================
FAIL: test_memnick_memorizes (test.TestMemnick.test_memnick_memorizes)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/test.py", line 51, in test_memnick_memorizes
self.assertEqual(
~~~~~~~~~~~~~~~~^
[
^
...<5 lines>...
solution.memnick(божана, емил),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
AssertionError: Lists differ: ['С г[52 chars]а на Митака: Божана, на този етап не съм сигур[117 chars]ах!'] != ['С г[52 chars]а на Почекаин: Божана, ще те любя.', 'С гласа [117 chars]ах!']

First differing element 1:
'С гласа на Митака: Божана, на този етап не съм сигурен дали искам да те любя.'
'С гласа на Почекаин: Божана, ще те любя.'

['С гласа на Лазар: Божана, може би ще те любя.',
+ 'С гласа на Почекаин: Божана, ще те любя.',
'С гласа на Митака: Божана, на този етап не съм сигурен дали искам да те '
'любя.',
- 'С гласа на Почекаин: Божана, ще те любя.',
'С гласа на Бай Венци: Емил, айде да играем шах!']

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

FAILED (failures=1)

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