3

这是一个反转字符串的简单程序:当我输入一个字符串时,说“你好”,我得到的输出是“olle”。最后一个字符没有显示。

    word=raw_input('Enter any word:')
    l=len(word)
    n=l-1
    reverse=""
    while True:
          n-=1
          if n>=1 or n==0:
             get=word[n]
             reverse=str(reverse)
             reverse=reverse+get
             continue
          elif n!=0:
             print('\n The word:',reverse)
             break
4

4 回答 4

5

是一个反转字符串的简单程序:

print word[::-1]
于 2013-01-09T10:51:02.613 回答
5

在我看来,您的问题是您正在这样做:

n=l-1
reverse=""
while True:
      n-=1

这意味着n在你做任何事情之前你要减去两次,这意味着你的单词的第一个字母在你反转它之前被删除。

尝试删除这些行中的第一行。

于 2013-01-09T10:53:55.173 回答
1
>>> ''.join(reversed('hello'))
'olleh'
于 2013-01-09T10:52:06.200 回答
0

你的问题是你在循环开始而不是结束时递减 n 。也就是说,有更短、更 Pythonic 的方法来做到这一点。也许试试

word[::-1]

于 2013-01-09T10:54:28.997 回答