1memory={}
2def memnick(*args):
3 if len(args) == 0:
4 def decorator(func):
5 data = func()
6 name, phrase = data.split(",", 1)
7 if name not in memory:
8 memory[name] = [phrase]
9 else:
10 memory[name].append(phrase)
11 return func
12 return decorator
13 else:
14 to_return = []
15 for arg in args:
16 person = arg.__name__.capitalize()
17 if person in memory:
18 for phrase in memory[person]:
19 to_return.append(f"С гласа на {person}: {phrase}")
20
21 return to_return
22
EFF.F
======================================================================
ERROR: test_memnick_decorates_variable_functions (test.TestMemnick.test_memnick_decorates_variable_functions)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/test.py", line 108, in test_memnick_decorates_variable_functions
solution.memnick()(граматиков)("Капан 1", "Капан 2", "кос", "друг кос", утрепан_от_мамника=True)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
File "/tmp/solution.py", line 5, in decorator
data = func()
TypeError: TestMemnick.test_memnick_decorates_variable_functions.<locals>.граматиков() missing 2 required positional arguments: 'фото_капан_1' and 'фото_капан_2'
======================================================================
FAIL: test_memnick_does_not_memorize_repetitions (test.TestMemnick.test_memnick_does_not_memorize_repetitions)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/test.py", line 76, in test_memnick_does_not_memorize_repetitions
self.assertEqual(
~~~~~~~~~~~~~~~~^
["С гласа на Бай Венци: Емил, айде да играем шах!"],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
solution.memnick(емил),
^^^^^^^^^^^^^^^^^^^^^^^
)
^
AssertionError: Lists differ: ['С гласа на Бай Венци: Емил, айде да играем шах!'] != ['С гласа на Емил: айде да играем шах!', 'С гласа на [187 chars]ах!']
First differing element 0:
'С гласа на Бай Венци: Емил, айде да играем шах!'
'С гласа на Емил: айде да играем шах!'
Second list contains 5 additional elements.
First extra element 1:
'С гласа на Емил: айде да играем шах!'
- ['С гласа на Бай Венци: Емил, айде да играем шах!']
? ----------- ^ ^
+ ['С гласа на Емил: айде да играем шах!',
? ^^ ^
+ 'С гласа на Емил: айде да играем шах!',
+ 'С гласа на Емил: айде да играем шах!',
+ 'С гласа на Емил: айде да играем шах!',
+ 'С гласа на Емил: айде да играем шах!',
+ 'С гласа на Емил: айде да играем шах!']
======================================================================
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]ах!'] != ['С гласа на Божана: може би ще те любя.', 'С гласа н[134 chars]ах!']
First differing element 0:
'С гласа на Лазар: Божана, може би ще те любя.'
'С гласа на Божана: може би ще те любя.'
Diff is 729 characters long. Set self.maxDiff to None to see it.
======================================================================
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.004s
FAILED (failures=3, errors=1)
| f | 1 | memory={} | f | 1 | memory={} |
| 2 | def memnick(*args): | 2 | def memnick(*args): | ||
| 3 | if len(args) == 0: | 3 | if len(args) == 0: | ||
| 4 | def decorator(func): | 4 | def decorator(func): | ||
| 5 | data = func() | 5 | data = func() | ||
| 6 | name, phrase = data.split(",", 1) | 6 | name, phrase = data.split(",", 1) | ||
| 7 | if name not in memory: | 7 | if name not in memory: | ||
| 8 | memory[name] = [phrase] | 8 | memory[name] = [phrase] | ||
| 9 | else: | 9 | else: | ||
| 10 | memory[name].append(phrase) | 10 | memory[name].append(phrase) | ||
| 11 | return func | 11 | return func | ||
| 12 | return decorator | 12 | return decorator | ||
| 13 | else: | 13 | else: | ||
| 14 | to_return = [] | 14 | to_return = [] | ||
| 15 | for arg in args: | 15 | for arg in args: | ||
| 16 | person = arg.__name__.capitalize() | 16 | person = arg.__name__.capitalize() | ||
| 17 | if person in memory: | 17 | if person in memory: | ||
| 18 | for phrase in memory[person]: | 18 | for phrase in memory[person]: | ||
| 19 | to_return.append(f"С гласа на {person}: {phrase}") | 19 | to_return.append(f"С гласа на {person}: {phrase}") | ||
| 20 | 20 | ||||
| 21 | return to_return | 21 | return to_return | ||
| 22 | 22 | ||||
| t | 23 | t | |||
| 24 | @memnick() | ||||
| 25 | def божана(): | ||||
| 26 | return "Почекаин, ти си луд!" | ||||
| 27 | |||||
| 28 | божана() | ||||
| 29 | |||||
| 30 | @memnick() | ||||
| 31 | def бай_венци(): | ||||
| 32 | return "Емил, айде да играем шах!" | ||||
| 33 | |||||
| 34 | бай_венци() | ||||
| 35 | |||||
| 36 | @memnick() | ||||
| 37 | def бай_венци(): | ||||
| 38 | return "Емил, гладен съм!" | ||||
| 39 | |||||
| 40 | бай_венци() | ||||
| 41 | |||||
| 42 | @memnick() | ||||
| 43 | def емил(): | ||||
| 44 | return "Божана, намери сина ми." | ||||
| 45 | |||||
| 46 | емил() | ||||
| 47 | |||||
| 48 | @memnick() | ||||
| 49 | def емил(): | ||||
| 50 | return "Почекаин, нищо не става от тебе." | ||||
| 51 | |||||
| 52 | емил() | ||||
| 53 | |||||
| 54 | @memnick() | ||||
| 55 | def почекаин(): | ||||
| 56 | return "Божана, ще те любя." | ||||
| 57 | |||||
| 58 | почекаин() | ||||
| 59 | print(memnick(емил, божана)) | ||||
| 60 | print(memnick(бай_венци)) |
| Legends | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||
15.03.2026 14:01
15.03.2026 13:12