Лукьянов Артём Васильевич, 317, Севастопольский филилал BorgSum 5745
Сагура Николай, 392, сев. филиал BorgSum 5838
f1class Borg:f1class Borg:
2    _values = []2    _values = []
33
4    def __init__(self, value=0):4    def __init__(self, value=0):
5        self._id = len(Borg._values)5        self._id = len(Borg._values)
6        Borg._values.append(value)6        Borg._values.append(value)
77
8    def __str__(self):8    def __str__(self):
9        v = Borg._values[self._id]9        v = Borg._values[self._id]
10        if v == int(v):10        if v == int(v):
11            return str(int(v))11            return str(int(v))
12        return str(v)12        return str(v)
1313
14    def __iter__(self):14    def __iter__(self):
15        return (v for v in Borg._values if v is not None)15        return (v for v in Borg._values if v is not None)
1616
17    def __iadd__(self, other):17    def __iadd__(self, other):
18        vals = Borg._values18        vals = Borg._values
19        for i, v in enumerate(vals):19        for i, v in enumerate(vals):
20            if v is not None:20            if v is not None:
21                vals[i] = v + other21                vals[i] = v + other
22        return self22        return self
2323
24    def __isub__(self, other):24    def __isub__(self, other):
25        vals = Borg._values25        vals = Borg._values
26        for i, v in enumerate(vals):26        for i, v in enumerate(vals):
27            if v is not None:27            if v is not None:
28                vals[i] = v - other28                vals[i] = v - other
29        return self29        return self
3030
31    def __del__(self):31    def __del__(self):
32        if 0 <= self._id < len(Borg._values):32        if 0 <= self._id < len(Borg._values):
33            Borg._values[self._id] = None33            Borg._values[self._id] = None
tt34'a, b, c = Borg(5), Borg(10), Borg(16)\nprint(a, b, c)\nprint(*a)\nb += 
 >10\nc -= 1\nprint(*a)\ndel b\nprint(*a)'
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op