我知道有更好的方法可以向后打印。但由于某种原因,我不能让这个工作。有什么想法吗?
fruit = 'banana'
index = 0
while index < len(fruit):
print fruit[-(index)]
index = index + 1
答案 0 :(得分:6)
除了b
之外你反转了所有内容,因为你从0开始,-0仍然是0。
你最终得到了索引0,-1,-2,-3,-4,-5,因此打印b
,然后只反转anana
。但是anana
是一个回文,所以你不知道发生了什么!如果你选择了另一个词,它会更清楚:
>>> fruit = 'apple'
>>> index = 0
>>> while index < len(fruit):
... print fruit[-index]
... index = index + 1
...
a
e
l
p
p
注意开始时的a
,然后pple
正确撤消。
将index = index + 1
向上移动一行:
index = 0
while index < len(fruit):
index = index + 1
print fruit[-index]
现在使用索引-1,-2,-3,-4,-5和-6代替:
>>> fruit = 'banana'
>>> index = 0
>>> while index < len(fruit):
... index = index + 1
... print fruit[-index]
...
a
n
a
n
a
b
>>> fruit = 'apple'
>>> index = 0
>>> while index < len(fruit):
... index = index + 1
... print fruit[-index]
...
e
l
p
p
a
我删除了表达式(..)
中的-(index)
,因为它是多余的。