| ПУТИЛОВ ГЕОРГИЙ КОНСТАНТИНОВИЧ PushPull 9999 | Тюшев Максим, 321 PushPull 9365 | ||||
|---|---|---|---|---|---|
| t | 1 | class Pushpull: | t | 1 | class Pushpull: |
| 2 | pos = 0 | 2 | pos = 0 | ||
| 3 | 3 | ||||
| 4 | def __init__(self, p=0): | 4 | def __init__(self, p=0): | ||
| 5 | Pushpull.pos = p | 5 | Pushpull.pos = p | ||
| 6 | 6 | ||||
| 7 | @staticmethod | 7 | @staticmethod | ||
| 8 | def push(n=1): | 8 | def push(n=1): | ||
| 9 | Pushpull.pos += n | 9 | Pushpull.pos += n | ||
| 10 | 10 | ||||
| 11 | @staticmethod | 11 | @staticmethod | ||
| 12 | def pull(n=1): | 12 | def pull(n=1): | ||
| 13 | Pushpull.pos -= n | 13 | Pushpull.pos -= n | ||
| 14 | 14 | ||||
| 15 | def __str__(self): | 15 | def __str__(self): | ||
| 16 | if self.pos > 0: | 16 | if self.pos > 0: | ||
| 17 | return f'>{self.pos}>' | 17 | return f'>{self.pos}>' | ||
| 18 | elif self.pos < 0: | 18 | elif self.pos < 0: | ||
| 19 | return f'<{-self.pos}<' | 19 | return f'<{-self.pos}<' | ||
| 20 | return f'<{self.pos}>' | 20 | return f'<{self.pos}>' | ||
| 21 | 21 | ||||
| 22 | def __iter__(self): | 22 | def __iter__(self): | ||
| 23 | if self.pos > 0: | 23 | if self.pos > 0: | ||
| 24 | return iter(list(range(0, self.pos))) | 24 | return iter(list(range(0, self.pos))) | ||
| 25 | else: | 25 | else: | ||
| 26 | return iter([-i for i in range(0, -self.pos)]) | 26 | return iter([-i for i in range(0, -self.pos)]) | ||
| Legends | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||