Session08

I see that you're trying to ensure that the iterator works as you would want it to.  However, it's considered bad form in Python to give the user what you think they want, rather than what they ask for.  If I were to initialize an iterator of this class with a start of 10 and a stop of 1 and a step of 1, perhaps I actually wanted an iterator that never gives me a single value.  Perhaps I am working with unknown values for start and stop and by iterating between them I am testing or relying on the iterator not returning anything.  The point is, you don't know what I want as a user.  Best thing you can do, then is to give me what is written on the box.  Don't attempt to fix my "errors" by swapping start and stop.  Just let the iterator behave as it *should* according to the clearest understanding of the meaning of the parameters you require.