Hoffmann wrote:
> We are almost there. I changed the code and, at least,
> I got the correct output. However, I also got a
> traceback. I didn't understand the traceback. Could
> you clarify that?
> Thanks,
> Hoffmann
> ps: The new code:
>
>
>>>>vehicle='car'
>>>>index = -1 #index of the last letter
>>>>lenght = len(vehicle)
>>>>last = vehicle[lenght-1]
>>>>
>>>>while last >= vehicle[0]:
>
> letter=vehicle[index]
> print letter
> index -= 1
You are still confusing the index of a letter and the letter itself.
In [1]: vehicle = 'car'
In [2]: last = vehicle[-1]
In [3]: last
Out[3]: 'r'
last is a letter, not a number.
In [5]: vehicle[0]
Out[5]: 'c'
vehicle[0] is also a letter. So when you write
while last >= vehicle[0]:
you are comparing two characters, which is not really helpful in the
current context. What you really want to do is compare the index of the
current character with 0. Here is a working version in the same style:
In [6]: index = len(vehicle)-1
In [7]: while index >= 0:
...: print vehicle[index]
...: index -= 1
...:
...:
r
a
c
The best way to reverse a string is with a slice and negative index:
In [8]: vehicle[::-1]
Out[8]: 'rac'
but I'm going to have to leave explanation of that to another day or
another poster.
Kent
_______________________________________________
Tutor maillist - [email protected]
http://mail.python.org/mailman/listinfo/tutor