more newbie help needed
Steve Holden
steve at holdenweb.com
Mon Nov 14 14:35:59 EST 2005
john boy wrote:
> using the following program:
>
> fruit = "banana"
> index = 0
> while index < len (fruit):
> letter = fruit[index-1]
> print letter
> index= index -1
>
> this program is supposed to spell "banana" backwards and in a vertical patern...it does this....but after spelling "banana" it gives an error message:
> refering to line 4: letter = fruit[index-1]
> states that it is an IndexError and the string index is out of range
> Anybody know how to fix this?
>
Change the termination condition on your loop. If you print out the
values of index as the loop goes round you'll see you are printing
characters whose index values are -1, -2, ..., -6
Unfortunately -7 is less than -6, so your loop keeps on going, with the
results you observe.
Note, however, that there are more pythonic ways to perform this task.
You might try:
for index in range(len(fruit)):
letter = fruit[-index-1]
print letter
as one example. I'm sure other readers will have their own ways to do
this, many of them more elegant.
regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC www.holdenweb.com
PyCon TX 2006 www.python.org/pycon/
More information about the Python-list
mailing list