def first(*args, **kwargs):
return 'first', args, kwargs
class some_cls:
third = lambda *x, **y: ('third', x, y)
def __new__(self, *args, **kwargs):
return 'second', args, kwargs
@staticmethod
def fourth(*args, **kwargs):
return 'fourth', args, kwargs
@classmethod
def fifth(cls, *args, **kwargs):
return 'fifth', args, kwargs
def execute(code, *args, **kwargs):
actions = {
1: first,
2: some_cls,
3: some_cls.third,
4: some_cls.fourth,
5: some_cls.fifth,
6: lambda *x, **y: ('sixth', x, y)
}
return actions.get(code, lambda *x, **y: 'not implemented')(*args, **kwargs)
for code in range(10):
print(code, execute(code, code+1, double=code*2, power=code**2))
ZGVmIGZpcnN0KCphcmdzLCAqKmt3YXJncyk6CiAgICByZXR1cm4gJ2ZpcnN0JywgYXJncywga3dhcmdzCgoKY2xhc3Mgc29tZV9jbHM6CgogICAgdGhpcmQgPSBsYW1iZGEgKngsICoqeTogKCd0aGlyZCcsIHgsIHkpCgogICAgZGVmIF9fbmV3X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICByZXR1cm4gJ3NlY29uZCcsIGFyZ3MsIGt3YXJncwoKICAgIEBzdGF0aWNtZXRob2QKICAgIGRlZiBmb3VydGgoKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICByZXR1cm4gJ2ZvdXJ0aCcsIGFyZ3MsIGt3YXJncwoKICAgIEBjbGFzc21ldGhvZAogICAgZGVmIGZpZnRoKGNscywgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICByZXR1cm4gJ2ZpZnRoJywgYXJncywga3dhcmdzCgoKZGVmIGV4ZWN1dGUoY29kZSwgKmFyZ3MsICoqa3dhcmdzKToKCiAgICBhY3Rpb25zID0gewogICAgICAgIDE6IGZpcnN0LAogICAgICAgIDI6IHNvbWVfY2xzLAogICAgICAgIDM6IHNvbWVfY2xzLnRoaXJkLAogICAgICAgIDQ6IHNvbWVfY2xzLmZvdXJ0aCwKICAgICAgICA1OiBzb21lX2Nscy5maWZ0aCwKICAgICAgICA2OiBsYW1iZGEgKngsICoqeTogKCdzaXh0aCcsIHgsIHkpCiAgICB9CgogICAgcmV0dXJuIGFjdGlvbnMuZ2V0KGNvZGUsIGxhbWJkYSAqeCwgKip5OiAnbm90IGltcGxlbWVudGVkJykoKmFyZ3MsICoqa3dhcmdzKQoKCmZvciBjb2RlIGluIHJhbmdlKDEwKToKICAgIHByaW50KGNvZGUsIGV4ZWN1dGUoY29kZSwgY29kZSsxLCBkb3VibGU9Y29kZSoyLCBwb3dlcj1jb2RlKioyKSkK
0 not implemented
1 ('first', (2,), {'double': 2, 'power': 1})
2 ('second', (3,), {'double': 4, 'power': 4})
3 ('third', (4,), {'double': 6, 'power': 9})
4 ('fourth', (5,), {'double': 8, 'power': 16})
5 ('fifth', (6,), {'double': 10, 'power': 25})
6 ('sixth', (7,), {'double': 12, 'power': 36})
7 not implemented
8 not implemented
9 not implemented