How come when I ask it to print i[2:4] from an inputted string it gives me the letters between two and four
But when I ask it to print i[-1:-4] it does not print anything.
Jim
Hi Jim,
good to see you are still working at it. And posting some bits of code to focus a response around is helpful :-)
>>> 'my test string'[-1:-4] ''
This tells Python to start at the end of the string and go *forward*, one position at a time, up to, but not including, the -4 position. But, since there is nothing forward from the end of the string, this gives the empty string.
That suggests we need to one of two things:
>>> 'my test string'[-1:-4:-1] 'gni' >>>
That says start at the end and go *backwards*, one position at a time, up to, but not including, the -4 position.
Or,
>>> 'my test string'[-4:-1] 'rin' >>>
This says start at the -4 position and go forwards, one position at a time, up to, but not including the -1 position (i.e. the last letter).
We can also do >>> 'my test string'[-4:] 'ring' >>>
to remove the "but not including the -1 position" part of the instruction.
Try playing around with indexes using 1, 2, or 3, `slots'[*] and specifying all, none, or some, and see what comes out. If you don't understand the results, post again with the examples you don't understand.
[*] slots? I mean: 'I am indexed with 1 slot'[4] 'I am indexed with 2 slots'[4:6] 'I am indexed with 3 slots'[4:6:1] 'None of my slots have been "specified" '[:]
(There must be a better term that `slots', but it is 3am :-)
Best,
Brian vdB
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor