Предизвикателства > Сляпа баба > Решения > Решението на Добромир Пеев

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

1 точки общо

0 успешни теста
1 неуспешни теста
Код

 1import secret
 2import inspect
 3
 4
 5#4MI0600262
 6
 7def methodify():
 8    fn="4MI0600262"
 9    interesting_methods =[]
10    module_attributes=dir(secret)
11    for attr in module_attributes:
12        if inspect.isclass(attr):
13            nested_classes = [name for name, obj in inspect.getmembers(attr) if inspect.isclass(obj)]
14            module_attributes.extend(nested_classes)
15
16    for attr in module_attributes:
17        if len(attr)==1 and callable(attr) and "clue" in attr and (attr.isupper() or attr.isdigit()):
18            if hasattr(attr, '__name__') and attr.__name__  in fn:
19                try:
20                    attr()
21                except TypeError as data:
22                    if data=="Опаааааа, тука има нещо нередно.":
23                        interesting_methods.append(attr)
24                        continue
25                try:
26                    attr()
27                except BaseException:
28                    interesting_methods.append(attr)
29                    continue
30                if attr(2)==4 and attr(1)==0:
31                    interesting_methods.append(attr)
32                    continue
33                elif attr("Java ","Sucks") == "Java sucks":
34                    interesting_methods.append(attr)
35                    continue
36                elif isinstance(attr,staticmethod):
37                    interesting_methods.append(attr)
38                    continue
39    return tuple(interesting_methods)

F
======================================================================
FAIL: test_metodify (test.TestMethodify)
Test metodify function.
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/test.py", line 12, in test_metodify
self.assertIn(methodify(), _RESULTS.keys())
AssertionError: () not found in dict_keys([(<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_2 at 0x7fa506faadd0>, <function method_3 at 0x7fa506faae60>, <function method_4 at 0x7fa506faaef0>, <function method_5 at 0x7fa506faaf80>, <function method_6 at 0x7fa506fab010>, <function method_7 at 0x7fa506fab0a0>, <function method_8 at 0x7fa506fab130>, <function method_9 at 0x7fa506fab1c0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_2 at 0x7fa506faadd0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_2 at 0x7fa506faadd0>, <function method_4 at 0x7fa506faaef0>, <function method_4 at 0x7fa506faaef0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_5 at 0x7fa506faaf80>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_9 at 0x7fa506fab1c0>, <function method_5 at 0x7fa506faaf80>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_5 at 0x7fa506faaf80>, <function method_0 at 0x7fa506faacb0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_8 at 0x7fa506fab130>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_0 at 0x7fa506faacb0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_4 at 0x7fa506faaef0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_2 at 0x7fa506faadd0>, <function method_6 at 0x7fa506fab010>, <function method_2 at 0x7fa506faadd0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_3 at 0x7fa506faae60>, <function method_1 at 0x7fa506faad40>, <function method_5 at 0x7fa506faaf80>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_3 at 0x7fa506faae60>, <function method_1 at 0x7fa506faad40>, <function method_6 at 0x7fa506fab010>, <function method_5 at 0x7fa506faaf80>, <function method_0 at 0x7fa506faacb0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_3 at 0x7fa506faae60>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_4 at 0x7fa506faaef0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_3 at 0x7fa506faae60>, <function method_2 at 0x7fa506faadd0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_9 at 0x7fa506fab1c0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_2 at 0x7fa506faadd0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_4 at 0x7fa506faaef0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_9 at 0x7fa506fab1c0>, <function method_7 at 0x7fa506fab0a0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_3 at 0x7fa506faae60>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_3 at 0x7fa506faae60>, <function method_4 at 0x7fa506faaef0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_8 at 0x7fa506fab130>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_2 at 0x7fa506faadd0>, <function method_5 at 0x7fa506faaf80>, <function method_5 at 0x7fa506faaf80>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_0 at 0x7fa506faacb0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_1 at 0x7fa506faad40>, <function method_5 at 0x7fa506faaf80>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_2 at 0x7fa506faadd0>, <function method_5 at 0x7fa506faaf80>, <function method_5 at 0x7fa506faaf80>, <function method_0 at 0x7fa506faacb0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_4 at 0x7fa506faaef0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_3 at 0x7fa506faae60>, <function method_0 at 0x7fa506faacb0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_3 at 0x7fa506faae60>, <function method_1 at 0x7fa506faad40>, <function method_5 at 0x7fa506faaf80>, <function method_9 at 0x7fa506fab1c0>, <function method_2 at 0x7fa506faadd0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_0 at 0x7fa506faacb0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_9 at 0x7fa506fab1c0>, <function method_7 at 0x7fa506fab0a0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_2 at 0x7fa506faadd0>, <function method_3 at 0x7fa506faae60>, <function method_7 at 0x7fa506fab0a0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_5 at 0x7fa506faaf80>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_1 at 0x7fa506faad40>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_8 at 0x7fa506fab130>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_3 at 0x7fa506faae60>, <function method_6 at 0x7fa506fab010>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_0 at 0x7fa506faacb0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_7 at 0x7fa506fab0a0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_2 at 0x7fa506faadd0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_9 at 0x7fa506fab1c0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_1 at 0x7fa506faad40>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_3 at 0x7fa506faae60>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_2 at 0x7fa506faadd0>, <function method_4 at 0x7fa506faaef0>, <function method_9 at 0x7fa506fab1c0>, <function method_3 at 0x7fa506faae60>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_3 at 0x7fa506faae60>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_7 at 0x7fa506fab0a0>, <function method_5 at 0x7fa506faaf80>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_0 at 0x7fa506faacb0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_7 at 0x7fa506fab0a0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_5 at 0x7fa506faaf80>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_3 at 0x7fa506faae60>, <function method_9 at 0x7fa506fab1c0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_3 at 0x7fa506faae60>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_4 at 0x7fa506faaef0>, <function method_9 at 0x7fa506fab1c0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_2 at 0x7fa506faadd0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_8 at 0x7fa506fab130>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_2 at 0x7fa506faadd0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_6 at 0x7fa506fab010>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_7 at 0x7fa506fab0a0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_1 at 0x7fa506faad40>, <function method_6 at 0x7fa506fab010>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_5 at 0x7fa506faaf80>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_6 at 0x7fa506fab010>, <function method_7 at 0x7fa506fab0a0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_0 at 0x7fa506faacb0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_4 at 0x7fa506faaef0>, <function method_1 at 0x7fa506faad40>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_2 at 0x7fa506faadd0>, <function method_5 at 0x7fa506faaf80>, <function method_1 at 0x7fa506faad40>, <function method_3 at 0x7fa506faae60>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_7 at 0x7fa506fab0a0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_4 at 0x7fa506faaef0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_1 at 0x7fa506faad40>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_4 at 0x7fa506faaef0>, <function method_6 at 0x7fa506fab010>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_0 at 0x7fa506faacb0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_2 at 0x7fa506faadd0>, <function method_0 at 0x7fa506faacb0>, <function method_4 at 0x7fa506faaef0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_2 at 0x7fa506faadd0>, <function method_5 at 0x7fa506faaf80>, <function method_3 at 0x7fa506faae60>, <function method_2 at 0x7fa506faadd0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_2 at 0x7fa506faadd0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_2 at 0x7fa506faadd0>, <function method_1 at 0x7fa506faad40>, <function method_6 at 0x7fa506fab010>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_1 at 0x7fa506faad40>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_3 at 0x7fa506faae60>, <function method_1 at 0x7fa506faad40>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_4 at 0x7fa506faaef0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_7 at 0x7fa506fab0a0>, <function method_1 at 0x7fa506faad40>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_9 at 0x7fa506fab1c0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_9 at 0x7fa506fab1c0>, <function method_9 at 0x7fa506fab1c0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_0 at 0x7fa506faacb0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_2 at 0x7fa506faadd0>, <function method_4 at 0x7fa506faaef0>, <function method_1 at 0x7fa506faad40>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_2 at 0x7fa506faadd0>, <function method_5 at 0x7fa506faaf80>, <function method_9 at 0x7fa506fab1c0>, <function method_1 at 0x7fa506faad40>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_2 at 0x7fa506faadd0>, <function method_1 at 0x7fa506faad40>, <function method_3 at 0x7fa506faae60>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_2 at 0x7fa506faadd0>, <function method_5 at 0x7fa506faaf80>, <function method_6 at 0x7fa506fab010>, <function method_8 at 0x7fa506fab130>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_2 at 0x7fa506faadd0>, <function method_1 at 0x7fa506faad40>, <function method_1 at 0x7fa506faad40>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_2 at 0x7fa506faadd0>, <function method_3 at 0x7fa506faae60>, <function method_0 at 0x7fa506faacb0>, <function method_7 at 0x7fa506fab0a0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_3 at 0x7fa506faae60>, <function method_4 at 0x7fa506faaef0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_4 at 0x7fa506faaef0>, <function method_3 at 0x7fa506faae60>, <function method_0 at 0x7fa506faacb0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_5 at 0x7fa506faaf80>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_7 at 0x7fa506fab0a0>, <function method_8 at 0x7fa506fab130>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_0 at 0x7fa506faacb0>, <function method_7 at 0x7fa506fab0a0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_2 at 0x7fa506faadd0>, <function method_1 at 0x7fa506faad40>, <function method_5 at 0x7fa506faaf80>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_2 at 0x7fa506faadd0>, <function method_5 at 0x7fa506faaf80>, <function method_2 at 0x7fa506faadd0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_3 at 0x7fa506faae60>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_9 at 0x7fa506fab1c0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_8 at 0x7fa506fab130>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_4 at 0x7fa506faaef0>, <function method_0 at 0x7fa506faacb0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_7 at 0x7fa506fab0a0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_3 at 0x7fa506faae60>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_5 at 0x7fa506faaf80>, <function method_2 at 0x7fa506faadd0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_8 at 0x7fa506fab130>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_9 at 0x7fa506fab1c0>, <function method_2 at 0x7fa506faadd0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_2 at 0x7fa506faadd0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_2 at 0x7fa506faadd0>, <function method_7 at 0x7fa506fab0a0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_9 at 0x7fa506fab1c0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_2 at 0x7fa506faadd0>, <function method_2 at 0x7fa506faadd0>, <function method_3 at 0x7fa506faae60>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_2 at 0x7fa506faadd0>, <function method_4 at 0x7fa506faaef0>, <function method_0 at 0x7fa506faacb0>, <function method_9 at 0x7fa506fab1c0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_8 at 0x7fa506fab130>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_3 at 0x7fa506faae60>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_2 at 0x7fa506faadd0>, <function method_0 at 0x7fa506faacb0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_2 at 0x7fa506faadd0>, <function method_2 at 0x7fa506faadd0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_8 at 0x7fa506fab130>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_2 at 0x7fa506faadd0>, <function method_4 at 0x7fa506faaef0>, <function method_2 at 0x7fa506faadd0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_1 at 0x7fa506faad40>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_3 at 0x7fa506faae60>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_3 at 0x7fa506faae60>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_2 at 0x7fa506faadd0>, <function method_5 at 0x7fa506faaf80>, <function method_7 at 0x7fa506fab0a0>, <function method_1 at 0x7fa506faad40>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_0 at 0x7fa506faacb0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_3 at 0x7fa506faae60>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_9 at 0x7fa506fab1c0>, <function method_2 at 0x7fa506faadd0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_5 at 0x7fa506faaf80>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_7 at 0x7fa506fab0a0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_3 at 0x7fa506faae60>, <function method_8 at 0x7fa506fab130>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_8 at 0x7fa506fab130>, <function method_5 at 0x7fa506faaf80>, <function method_5 at 0x7fa506faaf80>, <function method_3 at 0x7fa506faae60>, <function method_6 at 0x7fa506fab010>, <function method_2 at 0x7fa506faadd0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_1 at 0x7fa506faad40>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_7 at 0x7fa506fab0a0>, <function method_2 at 0x7fa506faadd0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_7 at 0x7fa506fab0a0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_9 at 0x7fa506fab1c0>, <function method_8 at 0x7fa506fab130>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_2 at 0x7fa506faadd0>, <function method_4 at 0x7fa506faaef0>, <function method_2 at 0x7fa506faadd0>, <function method_6 at 0x7fa506fab010>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_7 at 0x7fa506fab0a0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_3 at 0x7fa506faae60>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_1 at 0x7fa506faad40>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_0 at 0x7fa506faacb0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_7 at 0x7fa506fab0a0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_9 at 0x7fa506fab1c0>, <function method_2 at 0x7fa506faadd0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_2 at 0x7fa506faadd0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_2 at 0x7fa506faadd0>, <function method_0 at 0x7fa506faacb0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_0 at 0x7fa506faacb0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_7 at 0x7fa506fab0a0>, <function method_1 at 0x7fa506faad40>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_2 at 0x7fa506faadd0>, <function method_5 at 0x7fa506faaf80>, <function method_1 at 0x7fa506faad40>, <function method_4 at 0x7fa506faaef0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_0 at 0x7fa506faacb0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_3 at 0x7fa506faae60>, <function method_4 at 0x7fa506faaef0>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_3 at 0x7fa506faae60>, <function method_5 at 0x7fa506faaf80>, <function method_6 at 0x7fa506fab010>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_2 at 0x7fa506faadd0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_9 at 0x7fa506fab1c0>, <function method_6 at 0x7fa506fab010>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_2 at 0x7fa506faadd0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_3 at 0x7fa506faae60>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_1 at 0x7fa506faad40>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_1 at 0x7fa506faad40>, <function method_8 at 0x7fa506fab130>, <function method_7 at 0x7fa506fab0a0>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_2 at 0x7fa506faadd0>, <function method_5 at 0x7fa506faaf80>, <function method_2 at 0x7fa506faadd0>, <function method_6 at 0x7fa506fab010>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_7 at 0x7fa506fab0a0>, <function method_M at 0x7fa506faab90>, <function method_I at 0x7fa506faac20>, <function method_0 at 0x7fa506faacb0>, <function method_6 at 0x7fa506fab010>, <function method_0 at 0x7fa506faacb0>, <function method_0 at 0x7fa506faacb0>, <function method_2 at 0x7fa506faadd0>, <function method_1 at 0x7fa506faad40>, <function method_8 at 0x7fa506fab130>), (<function method_F at 0x7fa506faaa70>, <function method_N at 0x7fa506faab00>, <function method_6 at 0x7fa506fab010>, <function method_2 at 0x7fa506faadd0>, <function method_4 at 0x7fa506faaef0>, <function method_8 at 0x7fa506fab130>, <function method_7 at 0x7fa506fab0a0>)])

----------------------------------------------------------------------
Ran 1 test in 0.000s

FAILED (failures=1)

Дискусия
История

f1import secretf1import secret
nn2import inspect
23
n3def func(number):n
4    if number % 2==0:
5        return number * number
6    return 0
74
n8def concat(left="",right=""):n5#4MI0600262
9    return left + right
106
11def methodify():7def methodify():
nn8    fn="4MI0600262"
12    interesting_methods = []9    interesting_methods =[]
13    module_attributes=dir(secret)10    module_attributes=dir(secret)
14    for attr in module_attributes:11    for attr in module_attributes:
nn12        if inspect.isclass(attr):
13            nested_classes = [name for name, obj in inspect.getmembers(attr) if inspect.isclass(obj)]
14            module_attributes.extend(nested_classes)
15 
16    for attr in module_attributes:
15        if len(attr)==1 and callable(attr) and "clue" in attr and (attr.isupper() or attr.isdigit()):17        if len(attr)==1 and callable(attr) and "clue" in attr and (attr.isupper() or attr.isdigit()):
nn18            if hasattr(attr, '__name__') and attr.__name__  in fn:
16            try:19                try:
17                attr()20                    attr()
18            except TypeError as data:21                except TypeError as data:
19                if data=="Опаааааа, тука има нещо нередно.":22                    if data=="Опаааааа, тука има нещо нередно.":
23                        interesting_methods.append(attr)
24                        continue
25                try:
26                    attr()
27                except BaseException:
20                    interesting_methods.append(attr)28                    interesting_methods.append(attr)
21                    continue29                    continue
t22            try:t30                if attr(2)==4 and attr(1)==0:
23                attr()
24            except BaseException:
25                interesting_methods.append(attr)31                    interesting_methods.append(attr)
26                continue32                    continue
27            if attr==func:33                elif attr("Java ","Sucks") == "Java sucks":
28                interesting_methods.append(attr)34                    interesting_methods.append(attr)
29                continue35                    continue
30            elif attr==concat:36                elif isinstance(attr,staticmethod):
31                interesting_methods.append(attr)37                    interesting_methods.append(attr)
32                continue38                    continue
33            elif isinstance(attr,staticmethod):
34                interesting_methods.append(attr)
35                continue
36 
37 
38    return tuple(interesting_methods)39    return tuple(interesting_methods)
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op

n1import inspectn1import secret
2import sys
3 
42
5def func(number):3def func(number):
6    if number % 2==0:4    if number % 2==0:
7        return number * number5        return number * number
8    return 06    return 0
97
10def concat(left="",right=""):8def concat(left="",right=""):
11    return left + right9    return left + right
1210
13def methodify():11def methodify():
14    interesting_methods = []12    interesting_methods = []
t15    t
16    caller_frame = inspect.currentframe().f_back
17    caller_module = caller_frame.f_globals['__name__']
18    module = sys.modules[caller_module]
19    module_attributes=dir(module)13    module_attributes=dir(secret)
20    for attr in module_attributes:14    for attr in module_attributes:
21        if len(attr)==1 and callable(attr) and "clue" in attr and (attr.isupper() or attr.isdigit()):15        if len(attr)==1 and callable(attr) and "clue" in attr and (attr.isupper() or attr.isdigit()):
22            try:16            try:
23                attr()17                attr()
24            except TypeError as data:18            except TypeError as data:
25                if data=="Опаааааа, тука има нещо нередно.":19                if data=="Опаааааа, тука има нещо нередно.":
26                    interesting_methods.append(attr)20                    interesting_methods.append(attr)
27                    continue21                    continue
28            try:22            try:
29                attr()23                attr()
30            except BaseException:24            except BaseException:
31                interesting_methods.append(attr)25                interesting_methods.append(attr)
32                continue26                continue
33            if attr==func:27            if attr==func:
34                interesting_methods.append(attr)28                interesting_methods.append(attr)
35                continue29                continue
36            elif attr==concat:30            elif attr==concat:
37                interesting_methods.append(attr)31                interesting_methods.append(attr)
38                continue32                continue
39            elif isinstance(attr,staticmethod):33            elif isinstance(attr,staticmethod):
40                interesting_methods.append(attr)34                interesting_methods.append(attr)
41                continue35                continue
4236
4337
44    return tuple(interesting_methods)38    return tuple(interesting_methods)
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op

t1import inspectt1import inspect
2import sys2import sys
33
44
5def func(number):5def func(number):
6    if number % 2==0:6    if number % 2==0:
7        return number * number7        return number * number
8    return 08    return 0
99
10def concat(left="",right=""):10def concat(left="",right=""):
11    return left + right11    return left + right
1212
13def methodify():13def methodify():
14    interesting_methods = []14    interesting_methods = []
15    15    
16    caller_frame = inspect.currentframe().f_back16    caller_frame = inspect.currentframe().f_back
17    caller_module = caller_frame.f_globals['__name__']17    caller_module = caller_frame.f_globals['__name__']
18    module = sys.modules[caller_module]18    module = sys.modules[caller_module]
19    module_attributes=dir(module)19    module_attributes=dir(module)
20    for attr in module_attributes:20    for attr in module_attributes:
21        if len(attr)==1 and callable(attr) and "clue" in attr and (attr.isupper() or attr.isdigit()):21        if len(attr)==1 and callable(attr) and "clue" in attr and (attr.isupper() or attr.isdigit()):
22            try:22            try:
23                attr()23                attr()
24            except TypeError as data:24            except TypeError as data:
25                if data=="Опаааааа, тука има нещо нередно.":25                if data=="Опаааааа, тука има нещо нередно.":
26                    interesting_methods.append(attr)26                    interesting_methods.append(attr)
27                    continue27                    continue
28            try:28            try:
29                attr()29                attr()
30            except BaseException:30            except BaseException:
31                interesting_methods.append(attr)31                interesting_methods.append(attr)
32                continue32                continue
33            if attr==func:33            if attr==func:
34                interesting_methods.append(attr)34                interesting_methods.append(attr)
35                continue35                continue
36            elif attr==concat:36            elif attr==concat:
37                interesting_methods.append(attr)37                interesting_methods.append(attr)
38                continue38                continue
39            elif isinstance(attr,staticmethod):39            elif isinstance(attr,staticmethod):
40                interesting_methods.append(attr)40                interesting_methods.append(attr)
41                continue41                continue
4242
4343
44    return tuple(interesting_methods)44    return tuple(interesting_methods)
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op

t1import inspectt1import inspect
2import sys2import sys
33
44
5def func(number):5def func(number):
6    if number % 2==0:6    if number % 2==0:
7        return number * number7        return number * number
8    return 08    return 0
99
10def concat(left="",right=""):10def concat(left="",right=""):
11    return left + right11    return left + right
1212
13def methodify():13def methodify():
14    interesting_methods = []14    interesting_methods = []
15    15    
16    caller_frame = inspect.currentframe().f_back16    caller_frame = inspect.currentframe().f_back
17    caller_module = caller_frame.f_globals['__name__']17    caller_module = caller_frame.f_globals['__name__']
18    module = sys.modules[caller_module]18    module = sys.modules[caller_module]
19    module_attributes=dir(module)19    module_attributes=dir(module)
20    for attr in module_attributes:20    for attr in module_attributes:
21        if len(attr)==1 and callable(attr) and "clue" in attr and (attr.isupper() or attr.isdigit()):21        if len(attr)==1 and callable(attr) and "clue" in attr and (attr.isupper() or attr.isdigit()):
22            try:22            try:
23                attr()23                attr()
24            except TypeError as data:24            except TypeError as data:
25                if data=="Опаааааа, тука има нещо нередно.":25                if data=="Опаааааа, тука има нещо нередно.":
26                    interesting_methods.append(attr)26                    interesting_methods.append(attr)
27                    continue27                    continue
28            try:28            try:
29                attr()29                attr()
30            except BaseException:30            except BaseException:
31                interesting_methods.append(attr)31                interesting_methods.append(attr)
32                continue32                continue
33            if attr==func:33            if attr==func:
34                interesting_methods.append(attr)34                interesting_methods.append(attr)
35                continue35                continue
36            elif attr==concat:36            elif attr==concat:
37                interesting_methods.append(attr)37                interesting_methods.append(attr)
38                continue38                continue
39            elif isinstance(attr,staticmethod):39            elif isinstance(attr,staticmethod):
40                interesting_methods.append(attr)40                interesting_methods.append(attr)
41                continue41                continue
4242
4343
44    return tuple(interesting_methods)44    return tuple(interesting_methods)
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op

f1import inspectf1import inspect
2import sys2import sys
33
nn4 
4def func(number):5def func(number):
n5    if number % 2 == 0:n6    if number % 2==0:
6        return number * number7        return number * number
7    return 08    return 0
89
n9def concat(left="", right=""):n10def concat(left="",right=""):
10    return left + right11    return left + right
1112
12def methodify():13def methodify():
13    interesting_methods = []14    interesting_methods = []
14    15    
n15    # Get the caller's modulen
16    caller_frame = inspect.currentframe().f_back16    caller_frame = inspect.currentframe().f_back
17    caller_module = caller_frame.f_globals['__name__']17    caller_module = caller_frame.f_globals['__name__']
18    module = sys.modules[caller_module]18    module = sys.modules[caller_module]
n19 n
20    module_attributes = dir(module)19    module_attributes=dir(module)
21 
22    for attr in module_attributes:20    for attr in module_attributes:
n23        if len(attr) == 1 and callable(attr) and "clue" in attr and (attr.isupper() or attr.isdigit()):n21        if len(attr)==1 and callable(attr) and "clue" in attr and (attr.isupper() or attr.isdigit()):
24            try:22            try:
n25                getattr(module, attr)()n23                attr()
26            except TypeError as data:24            except TypeError as data:
n27                if str(data== "Опаааааа, тука има нещо нередно.":n25                if data=="Опаааааа, тука има нещо нередно.":
28                    interesting_methods.append(attr)26                    interesting_methods.append(attr)
29                    continue27                    continue
nn28            try:
29                attr()
30            except BaseException:30            except BaseException:
31                interesting_methods.append(attr)31                interesting_methods.append(attr)
32                continue32                continue
n33            if getattr(module, attr) == func:n33            if attr==func:
34                interesting_methods.append(attr)34                interesting_methods.append(attr)
35                continue35                continue
n36            elif getattr(module, attr) == concat:n36            elif attr==concat:
37                interesting_methods.append(attr)37                interesting_methods.append(attr)
38                continue38                continue
n39            elif isinstance(getattr(module, attr), staticmethod):n39            elif isinstance(attr,staticmethod):
40                interesting_methods.append(attr)40                interesting_methods.append(attr)
41                continue41                continue
4242
tt43 
43    return tuple(interesting_methods)44    return tuple(interesting_methods)
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op

f1import inspectf1import inspect
2import sys2import sys
33
4def func(number):4def func(number):
5    if number % 2 == 0:5    if number % 2 == 0:
6        return number * number6        return number * number
7    return 07    return 0
88
9def concat(left="", right=""):9def concat(left="", right=""):
10    return left + right10    return left + right
1111
12def methodify():12def methodify():
13    interesting_methods = []13    interesting_methods = []
14    14    
15    # Get the caller's module15    # Get the caller's module
16    caller_frame = inspect.currentframe().f_back16    caller_frame = inspect.currentframe().f_back
17    caller_module = caller_frame.f_globals['__name__']17    caller_module = caller_frame.f_globals['__name__']
18    module = sys.modules[caller_module]18    module = sys.modules[caller_module]
1919
20    module_attributes = dir(module)20    module_attributes = dir(module)
nn21 
21    for attr in module_attributes:22    for attr in module_attributes:
t22        if len(attr) == 1 and callable(getattr(module, attr)) and "clue" in attr and (attr.isupper() or attr.isdigit()):t23        if len(attr) == 1 and callable(attr) and "clue" in attr and (attr.isupper() or attr.isdigit()):
23            try:24            try:
24                getattr(module, attr)()25                getattr(module, attr)()
25            except TypeError as data:26            except TypeError as data:
26                if str(data) == "Опаааааа, тука има нещо нередно.":27                if str(data) == "Опаааааа, тука има нещо нередно.":
27                    interesting_methods.append(attr)28                    interesting_methods.append(attr)
28                    continue29                    continue
29            except BaseException:30            except BaseException:
30                interesting_methods.append(attr)31                interesting_methods.append(attr)
31                continue32                continue
32            if getattr(module, attr) == func:33            if getattr(module, attr) == func:
33                interesting_methods.append(attr)34                interesting_methods.append(attr)
34                continue35                continue
35            elif getattr(module, attr) == concat:36            elif getattr(module, attr) == concat:
36                interesting_methods.append(attr)37                interesting_methods.append(attr)
37                continue38                continue
38            elif isinstance(getattr(module, attr), staticmethod):39            elif isinstance(getattr(module, attr), staticmethod):
39                interesting_methods.append(attr)40                interesting_methods.append(attr)
40                continue41                continue
4142
42    return tuple(interesting_methods)43    return tuple(interesting_methods)
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op

nn1import inspect
2import sys
13
2def func(number):4def func(number):
n3    if number % 2==0:n5    if number % 2 == 0:
4        return number * number6        return number * number
5    return 07    return 0
68
n7def concat(left="",right=""):n9def concat(left="", right=""):
8    return left + right10    return left + right
911
n10def methodify(module):n12def methodify():
11    interesting_methods = []13    interesting_methods = []
12    14    
nn15    # Get the caller's module
16    caller_frame = inspect.currentframe().f_back
17    caller_module = caller_frame.f_globals['__name__']
18    module = sys.modules[caller_module]
19 
13    module_attributes=dir(module)20    module_attributes = dir(module)
14    for attr in module_attributes:21    for attr in module_attributes:
n15        if len(attr)==1 and callable(attr) and "clue" in attr and (attr.isupper() or attr.isdigit()):n22        if len(attr) == 1 and callable(getattr(module, attr)) and "clue" in attr and (attr.isupper() or attr.isdigit()):
16            try:23            try:
n17                attr()n24                getattr(module, attr)()
18            except TypeError as data:25            except TypeError as data:
n19                if data=="Опаааааа, тука има нещо нередно.":n26                if str(data== "Опаааааа, тука има нещо нередно.":
20                    interesting_methods.append(attr)27                    interesting_methods.append(attr)
21                    continue28                    continue
n22            try:n
23                attr()
24            except BaseException:29            except BaseException:
25                interesting_methods.append(attr)30                interesting_methods.append(attr)
26                continue31                continue
n27            if attr==func:n32            if getattr(module, attr) == func:
28                interesting_methods.append(attr)33                interesting_methods.append(attr)
29                continue34                continue
n30            elif attr==concat:n35            elif getattr(module, attr) == concat:
31                interesting_methods.append(attr)36                interesting_methods.append(attr)
32                continue37                continue
n33            elif isinstance(attr,staticmethod):n38            elif isinstance(getattr(module, attr), staticmethod):
34                interesting_methods.append(attr)39                interesting_methods.append(attr)
35                continue40                continue
3641
t37 t
38    return tuple(interesting_methods)42    return tuple(interesting_methods)
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op

n1def F():n
2    pass
3def N():
4    pass
51
6def func(number):2def func(number):
7    if number % 2==0:3    if number % 2==0:
8        return number * number4        return number * number
9    return 05    return 0
106
11def concat(left="",right=""):7def concat(left="",right=""):
12    return left + right8    return left + right
139
14def methodify(module):10def methodify(module):
15    interesting_methods = []11    interesting_methods = []
t16    interesting_methods.append(F())t12    
17    interesting_methods.append(N())
18 
19    module_attributes=dir(module)13    module_attributes=dir(module)
20    for attr in module_attributes:14    for attr in module_attributes:
21        if len(attr)==1 and callable(attr) and "clue" in attr and (attr.isupper() or attr.isdigit()):15        if len(attr)==1 and callable(attr) and "clue" in attr and (attr.isupper() or attr.isdigit()):
22            try:16            try:
23                attr()17                attr()
24            except TypeError as data:18            except TypeError as data:
25                if data=="Опаааааа, тука има нещо нередно.":19                if data=="Опаааааа, тука има нещо нередно.":
26                    interesting_methods.append(attr)20                    interesting_methods.append(attr)
27                    continue21                    continue
28            try:22            try:
29                attr()23                attr()
30            except BaseException:24            except BaseException:
31                interesting_methods.append(attr)25                interesting_methods.append(attr)
32                continue26                continue
33            if attr==func:27            if attr==func:
34                interesting_methods.append(attr)28                interesting_methods.append(attr)
35                continue29                continue
36            elif attr==concat:30            elif attr==concat:
37                interesting_methods.append(attr)31                interesting_methods.append(attr)
38                continue32                continue
39            elif isinstance(attr,staticmethod):33            elif isinstance(attr,staticmethod):
40                interesting_methods.append(attr)34                interesting_methods.append(attr)
41                continue35                continue
4236
4337
44    return tuple(interesting_methods)38    return tuple(interesting_methods)
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op

f1def F():f1def F():
2    pass2    pass
3def N():3def N():
4    pass4    pass
55
6def func(number):6def func(number):
7    if number % 2==0:7    if number % 2==0:
8        return number * number8        return number * number
9    return 09    return 0
1010
11def concat(left="",right=""):11def concat(left="",right=""):
12    return left + right12    return left + right
1313
14def methodify(module):14def methodify(module):
15    interesting_methods = []15    interesting_methods = []
16    interesting_methods.append(F())16    interesting_methods.append(F())
17    interesting_methods.append(N())17    interesting_methods.append(N())
1818
19    module_attributes=dir(module)19    module_attributes=dir(module)
20    for attr in module_attributes:20    for attr in module_attributes:
t21        if len(attr)==1 and callable(attr) and "clue":t21        if len(attr)==1 and callable(attr) and "clue" in attr and (attr.isupper() or attr.isdigit()):
22            try:22            try:
23                attr()23                attr()
24            except TypeError as data:24            except TypeError as data:
25                if data=="Опаааааа, тука има нещо нередно.":25                if data=="Опаааааа, тука има нещо нередно.":
26                    interesting_methods.append(attr)26                    interesting_methods.append(attr)
27                    continue27                    continue
28            try:28            try:
29                attr()29                attr()
30            except BaseException:30            except BaseException:
31                interesting_methods.append(attr)31                interesting_methods.append(attr)
32                continue32                continue
33            if attr==func:33            if attr==func:
34                interesting_methods.append(attr)34                interesting_methods.append(attr)
35                continue35                continue
36            elif attr==concat:36            elif attr==concat:
37                interesting_methods.append(attr)37                interesting_methods.append(attr)
38                continue38                continue
39            elif isinstance(attr,staticmethod):39            elif isinstance(attr,staticmethod):
40                interesting_methods.append(attr)40                interesting_methods.append(attr)
41                continue41                continue
4242
4343
44    return tuple(interesting_methods)44    return tuple(interesting_methods)
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op

f1def F():f1def F():
2    pass2    pass
3def N():3def N():
4    pass4    pass
nn5 
6def func(number):
7    if number % 2==0:
8        return number * number
9    return 0
10 
11def concat(left="",right=""):
12    return left + right
513
6def methodify(module):14def methodify(module):
7    interesting_methods = []15    interesting_methods = []
8    interesting_methods.append(F())16    interesting_methods.append(F())
9    interesting_methods.append(N())17    interesting_methods.append(N())
1018
n11    def explore(obj, path=''):n19    module_attributes=dir(module)
12        if 'clue' in path and hasattr(obj, '__dict__'):20    for attr in module_attributes:
13            for attr_name in dir(obj):21        if len(attr)==1 and callable(attr) and "clue":
14                attr = getattr(obj, attr_name)
15                if callable(attr) and len(attr_name) == 1 and attr_name.isalnum():
16                    try:22            try:
17                        # Condition 1: Raises TypeError
18                        attr()23                attr()
19                    except TypeError as e:24            except TypeError as data:
20                        if str(e) == 'Опаааааа, тука има нещо нередно.':25                if data=="Опаааааа, тука има нещо нередно.":
21                            interesting_methods.append(attr_name)
22                    except BaseException:
23                        interesting_methods.append(attr_name)26                    interesting_methods.append(attr)
24                    # Condition 3: Takes int argument
25                    try:27                    continue
28            try:
26                        attr(2)29                attr()
30            except BaseException:
27                        interesting_methods.append(attr_name)31                interesting_methods.append(attr)
28                    except TypeError:32                continue
29                        pass33            if attr==func:
30                    # Condition 4: Takes named str arguments
31                    try:
32                        attr(left='left', right='right')
33                        interesting_methods.append(attr_name)34                interesting_methods.append(attr)
34                    except TypeError:35                continue
35                        pass36            elif attr==concat:
36                    # Condition 5: Static method37                interesting_methods.append(attr)
38                continue
37                    if isinstance(attr, staticmethod):39            elif isinstance(attr,staticmethod):
38                        interesting_methods.append(attr_name)40                interesting_methods.append(attr)
41                continue
3942
t40                if isinstance(attr, type):t
41                    explore(attr, f"{path}.{attr_name}")
42 
43    explore(module)
4443
45    return tuple(interesting_methods)44    return tuple(interesting_methods)
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op