Python字符串反向程序

时间:2013-05-07 03:44:32

标签: python string reverse

我正在尝试编写一个简单地反转字符串的程序。我得到一个错误,即某些东西不能下载或其他东西。你能帮助我找出为什么这不起作用吗?

listreverse(list1):
     rlist = []
     i = len(list1) - 1
     while i >= 0:
             rlist.append(list[i])
             i = i - 1
     return rlist

4 个答案:

答案 0 :(得分:3)

rlist.append(list[i])

应该是

rlist.append(list1[i])

现在您正试图获取i函数的索引list

正如@gnibbler指出的那样,你应该尝试选择具有描述性和足够清晰度的变量名,这样你就不会像这样输入错误或者将一个变量混淆为另一个变量。

答案 1 :(得分:3)

您的代码可以简化为:

def string_reverse(string1):
    return string1[::-1]

print string_reverse('hello')

它返回:

olleh

请注意,您的代码在接受字符串时会返回一个列表,而不是一个字符串。 在这里,如果您发送一个字符串,您将获得反向字符串,如果您发送一个列表,您将获得反向列表

print string_reverse([1,2,3,4])

返回

[4, 3, 2, 1]

答案 2 :(得分:1)

更改

rlist.append(list[i])

rlist.append(list1[i])

这将解决您的问题..

在Python中有很多(其他)方法可以做到这一点:

>>> s = 'Hello World!'
# 1
>>> ''.join(reversed(s))
'!dlroW olleH'
# 2
>>> s[::-1]
'!dlroW olleH'
# 3
>>> r = ''
>>> for i in s:
    r = i+r
>>> r
'!dlroW olleH'
# 4
>>> ''.join(list(s)[::-1])
'!dlroW olleH'

答案 3 :(得分:0)

你可以用这个

str='qwerty'
print str[::-1] # it will reverse