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

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

3 точки общо

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

 1def format_name(name):
 2    return " ".join([word.capitalize() for word in name.split("_")])
 3
 4def outer():
 5    memory = set()
 6    def memnick(*args):
 7        if len(args) == 0:
 8            def memorize(func):
 9                def wrapper(*args, **kwargs):
10                    memory.add((func.__name__, func(*args, **kwargs)))
11                    return func(*args, **kwargs)
12                wrapper.__name__ = func.__name__
13                return wrapper
14            return memorize
15        else:
16            res = []
17            for function in args:
18                for function_name_memory, phrase in memory:
19                    if phrase.startswith(format_name(function.__name__)):
20                        res.append(f"С гласа на {format_name(function_name_memory)}: {phrase}")
21            return res
22    return memnick
23
24memnick = outer()

..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: ['С гласа на Лазар: Божана, може би ще те любя.', 'С г[166 chars]ах!'] != ['С гласа на Почекаин: Божана, ще те любя.', 'С гласа [166 chars]ах!']

First differing element 0:
'С гласа на Лазар: Божана, може би ще те любя.'
'С гласа на Почекаин: Божана, ще те любя.'

- ['С гласа на Лазар: Божана, може би ще те любя.',
? ^ ^^^ --------

+ ['С гласа на Почекаин: Божана, ще те любя.',
? ^^^^^ ^^

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

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

FAILED (failures=1)

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