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)
15.03.2026 14:19
15.03.2026 14:19