| Елизавета Череменина, 411 группа BorgSum 6560 | Dimitry BorgSum 6029 | ||||
|---|---|---|---|---|---|
| f | 1 | import weakref | f | 1 | import weakref |
| 2 | 2 | ||||
| 3 | class Borg: | 3 | class Borg: | ||
| n | 4 | _refs = [] | n | 4 | _all = [] |
| 5 | 5 | ||||
| 6 | def __init__(self, value=0): | 6 | def __init__(self, value=0): | ||
| n | 7 | self.val = value | n | 7 | self._value = value |
| 8 | Borg._refs.append(weakref.ref(self)) | 8 | Borg._all.append(weakref.ref(self)) | ||
| 9 | 9 | ||||
| 10 | def __str__(self): | 10 | def __str__(self): | ||
| n | 11 | return str(self.val) | n | 11 | return str(self._value) |
| 12 | 12 | ||||
| 13 | def __iter__(self): | 13 | def __iter__(self): | ||
| n | 14 | for r in Borg._refs: | n | 14 | for ref in Borg._all: |
| 15 | obj = r() | 15 | inst = ref() | ||
| 16 | if obj is not None: | 16 | if inst is not None: | ||
| 17 | yield obj.val | 17 | yield inst._value | ||
| 18 | 18 | ||||
| n | 19 | def __iadd__(self, x): | n | 19 | def __iadd__(self, num): |
| 20 | for r in Borg._refs: | 20 | for ref in Borg._all: | ||
| 21 | obj = r() | 21 | inst = ref() | ||
| 22 | if obj is not None: | 22 | if inst is not None: | ||
| 23 | obj.val += x | 23 | inst._value += num | ||
| 24 | return self | 24 | return self | ||
| 25 | 25 | ||||
| t | 26 | def __isub__(self, x): | t | 26 | def __isub__(self, num): |
| 27 | for r in Borg._refs: | 27 | for ref in Borg._all: | ||
| 28 | obj = r() | 28 | inst = ref() | ||
| 29 | if obj is not None: | 29 | if inst is not None: | ||
| 30 | obj.val -= x | 30 | inst._value -= num | ||
| 31 | return self | 31 | return self | ||
| Legends | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||