Jon Moore wrote: > Hi, > > I am still working my way through my 'Python for absolute beginners > book' and have hit a brick wall with one of the end of chapter exercises. > > The challenge says: > > Improve the function ask_number() so that the function can be called > with a step value. Make the default value of step 1. > > The function looks like this: > > def ask_number(question, low, high): > """Ask for a number within the range""" > response = None > while response not in range(low, high): > response = int(raw_input(question)) > return response > > The author has not eluded to 'step values' in anyway that I can see in > the proceeding chapters!
I have the book and I don't understand what he is asking for in that question either. To me a 'step value' would be something that alters a sequence, for example the third argument to range() is a step value: >>> help(range) Help on built-in function range in module __builtin__: range(...) range([start,] stop[, step]) -> list of integers Return a list containing an arithmetic progression of integers. range(i, j) returns [i, i+1, i+2, ..., j-1]; start (!) defaults to 0. When step is given, it specifies the increment (or decrement). For example, range(4) returns [0, 1, 2, 3]. The end point is omitted! These are exactly the valid indices for a list of 4 elements. >>> range(0, 6) [0, 1, 2, 3, 4, 5] >>> range(0, 6, 2) [0, 2, 4] Kent _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor