Шаргаровский Михаил Денисович, 402 группа ExceptionTree 14059 | Лычева Екатерина Олеговна, 530 ExceptionTree 12013 | ||||
---|---|---|---|---|---|
f | 1 | class ExceptionTree: | f | 1 | class ExceptionTree: |
2 | 2 | ||||
3 | def __init__(self): | 3 | def __init__(self): | ||
n | 4 | self.tree = {} | n | 4 | self.made = {} |
5 | 5 | ||||
6 | def __call__(self, n): | 6 | def __call__(self, n): | ||
n | 7 | if n in self.tree: | n | 7 | if n in self.made: |
8 | return self.tree[n] | 8 | return self.made[n] | ||
9 | if n == 1: | 9 | if n == 1: | ||
n | 10 | vert = type(f'Vertex-{n}', (Exception,), {'n': n}) | n | 10 | cls = type(f'Exception{n}', (Exception,), {'n': n}) |
11 | else: | 11 | else: | ||
12 | parent = self(n // 2) | 12 | parent = self(n // 2) | ||
t | 13 | vert = type(f'Vertex-{n}', (parent,), {'n': n}) | t | 13 | cls = type(f'Exception{n}', (parent,), {'n': n}) |
14 | self.tree[n] = vert | 14 | self.made[n] = cls | ||
15 | return vert | 15 | return cls |
Legends | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
|