1memory = {}
2
3def format_name(name):
4 return name.replace("_", " ").title()
5#title ми е от интернет
6
7def memnick(*funcs):
8 if len(funcs) == 0:
9 def decorator(func):
10 def wrapper(*args, **kwargs):
11 res = func(*args, **kwargs)
12 address, phrase = res.split(",", 1)
13 address = address.strip()
14 speaker = format_name(func.__name__)
15
16 if address not in memory:
17 memory[address] = set()
18
19 memory[address].add((speaker, res))
20 return res
21 return wrapper
22 return decorator
23 else:
24 res = []
25 for func in funcs:
26 name = format_name(func.__name__)
27 if name in memory:
28 for speaker, phrase in memory[name]:
29 res.append(f"С гласа на {speaker}: {phrase}")
30
31 return res
32
.....
----------------------------------------------------------------------
Ran 5 tests in 0.001s
OK
| t | 1 | memory = {} | t | 1 | memory = {} |
| 2 | 2 | ||||
| 3 | def format_name(name): | 3 | def format_name(name): | ||
| 4 | return name.replace("_", " ").title() | 4 | return name.replace("_", " ").title() | ||
| 5 | #title ми е от интернет | 5 | #title ми е от интернет | ||
| 6 | 6 | ||||
| 7 | def memnick(*funcs): | 7 | def memnick(*funcs): | ||
| 8 | if len(funcs) == 0: | 8 | if len(funcs) == 0: | ||
| 9 | def decorator(func): | 9 | def decorator(func): | ||
| 10 | def wrapper(*args, **kwargs): | 10 | def wrapper(*args, **kwargs): | ||
| 11 | res = func(*args, **kwargs) | 11 | res = func(*args, **kwargs) | ||
| 12 | address, phrase = res.split(",", 1) | 12 | address, phrase = res.split(",", 1) | ||
| 13 | address = address.strip() | 13 | address = address.strip() | ||
| 14 | speaker = format_name(func.__name__) | 14 | speaker = format_name(func.__name__) | ||
| 15 | 15 | ||||
| 16 | if address not in memory: | 16 | if address not in memory: | ||
| 17 | memory[address] = set() | 17 | memory[address] = set() | ||
| 18 | 18 | ||||
| 19 | memory[address].add((speaker, res)) | 19 | memory[address].add((speaker, res)) | ||
| 20 | return res | 20 | return res | ||
| 21 | return wrapper | 21 | return wrapper | ||
| 22 | return decorator | 22 | return decorator | ||
| 23 | else: | 23 | else: | ||
| 24 | res = [] | 24 | res = [] | ||
| 25 | for func in funcs: | 25 | for func in funcs: | ||
| 26 | name = format_name(func.__name__) | 26 | name = format_name(func.__name__) | ||
| 27 | if name in memory: | 27 | if name in memory: | ||
| 28 | for speaker, phrase in memory[name]: | 28 | for speaker, phrase in memory[name]: | ||
| 29 | res.append(f"С гласа на {speaker}: {phrase}") | 29 | res.append(f"С гласа на {speaker}: {phrase}") | ||
| 30 | 30 | ||||
| 31 | return res | 31 | return res | ||
| 32 | 32 |
| Legends | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||
15.03.2026 13:43
15.03.2026 13:42
15.03.2026 14:04
15.03.2026 14:15