| Власов Алексей Олегович 181дса BorgSum 6129 | Dimitry BorgSum 6029 | ||||
|---|---|---|---|---|---|
| f | 1 | import weakref | f | 1 | import weakref |
| 2 | 2 | ||||
| 3 | class Borg: | 3 | class Borg: | ||
| n | 4 | list = [] | n | 4 | _all = [] |
| 5 | 5 | ||||
| 6 | def __init__(self, value=0): | 6 | def __init__(self, value=0): | ||
| n | 7 | self.value = value | n | 7 | self._value = value |
| 8 | Borg.list.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.value) | n | 11 | return str(self._value) |
| 12 | 12 | ||||
| 13 | def __iter__(self): | 13 | def __iter__(self): | ||
| n | 14 | for ref in Borg.list: | n | 14 | for ref in Borg._all: |
| 15 | val = ref() | 15 | inst = ref() | ||
| 16 | if val is not None: | 16 | if inst is not None: | ||
| 17 | yield val.value | 17 | yield inst._value | ||
| 18 | 18 | ||||
| n | 19 | def __iadd__(self, s): | n | 19 | def __iadd__(self, num): |
| 20 | for ref in Borg.list: | 20 | for ref in Borg._all: | ||
| 21 | val = ref() | 21 | inst = ref() | ||
| 22 | if val is not None: | 22 | if inst is not None: | ||
| 23 | val.value += s | 23 | inst._value += num | ||
| 24 | return self | 24 | return self | ||
| 25 | 25 | ||||
| t | 26 | def __isub__(self, s): | t | 26 | def __isub__(self, num): |
| 27 | for ref in Borg.list: | 27 | for ref in Borg._all: | ||
| 28 | val = ref() | 28 | inst = ref() | ||
| 29 | if val is not None: | 29 | if inst is not None: | ||
| 30 | val.value -= s | 30 | inst._value -= num | ||
| 31 | return self | 31 | return self | ||
| Legends | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||