>>> def print_reversed2(s):
... index = len(s) - 1
... while index >= 0:
... letter = fruit[index]
... print letter
... index = index - 1
...
>>> print_reversed2('banana')
a
n
a
n
a
b
>>>
>>> fruit = 'banana'
>>> len(fruit)
6
>>> len(fruit) - 1
5
>>> while index >= 0:
... print "index at: " + str(index)
... print "fruit[index] at: " + fruit[index]
... index = index - 1
...
index at: 5
fruit[index] at: a
index at: 4
fruit[index] at: n
index at: 3
fruit[index] at: a
index at: 2
fruit[index] at: n
index at: 1
fruit[index] at: a
index at: 0
fruit[index] at: b
>>>
最简单的是:
其他可能的解决方案是将索引作为字符串的最后一个索引。然后,您将逐字反向读取字符串,每次将索引值降低1。然后你展示的代码片段会变成:
使用交互式解释器(只需在命令提示符中键入“python”)可以帮助您尝试使用这种代码snipplet。例如:
我认为最简单的方法是
或者,如果你想每行写一封信
我认为这更好,因为连接是操作字符串的标准方法,所以。。。
基本上是一样的,但是:
你必须从最后一个字母开始,而不是从第一个字母开始,所以你需要
index = 0
,而不是index = len(fruit) - 1
你必须在while循环结束时减少而不是增加索引,所以
index = index + 1
变成index = index - 1
。while循环的条件不同;只要
index
指向有效的字符索引,您就希望留在循环中。因为index
从len(fruit) - 1
开始,每次迭代后它会变小一个,最终它会变小到小于零。零仍然是一个有效的字符索引(它指的是字符串的第一个字符),因此只要index >= 0
——这将是while
条件,您就需要保持在循环中。总而言之:
相关问题 更多 >
编程相关推荐