我正在尝试编写一个简单地反转字符串的程序。我得到一个错误,即某些东西不能下载或其他东西。你能帮助我找出为什么这不起作用吗?
listreverse(list1):
rlist = []
i = len(list1) - 1
while i >= 0:
rlist.append(list[i])
i = i - 1
return rlist
答案 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