Sessions 7, 8, 9 Homework

Homework for the last three sessions (7,8,9)
You need to be consistent here. In one case you are returning a new object, and in the other you are returning the original object changed. You should almost certainly be returning a new object. If you want a function that returns the same object changed, you would use the augmented assignment (__iadd__, for example). You are correct that the reflected operator (__rmul__, below) would return the same thing as the normal operator (here and in most cases), and is often just a call to its non-reflected equivalent.