(self, other)
| 154 | return self[0]*other[0]+self[1]*other[1] |
| 155 | return Vec2D(self[0]*other, self[1]*other) |
| 156 | def __rmul__(self, other): |
| 157 | if isinstance(other, int) or isinstance(other, float): |
| 158 | return Vec2D(self[0]*other, self[1]*other) |
| 159 | return NotImplemented |
| 160 | def __sub__(self, other): |
| 161 | return Vec2D(self[0]-other[0], self[1]-other[1]) |
| 162 | def __neg__(self): |