我正在尝试修复一个似乎工作错误的反向功能。在检查了函数的主体之后,我注意到某个部分似乎被某个部分删除了或者像这样的某个部分。我试图添加缺少的信息,但python返回一个类型错误,带有不支持的操作数类型+。我认为我在错误的轨道上因为我不能使用+或 - 操作数来修复它。
非常欢迎任何帮助。提前谢谢。
除了“i”部分
之外,这是我无法修改的身体def reverse(s):
'''(str) -> str
Return the reverse of s.
>>> reverse('abc')
'cba'
>>> reverse('a')
'a'
>>> reverse('madam')
'madam'
>>> reverse('1234!')
'!4321'
'''
result = ''
i = len(s) - 1
while i >= 0:
result = result + s[i]
i = i + s # This part it seems to be problematic. The rest work properly
return result
答案 0 :(得分:4)
变量i
是一个整数。变量s
是一个字符串。向字符串添加整数是没有意义的。
在变量i
中,您可以跟踪当前的字符编号。首先从最后一个字符(最右边)到第一个字符(最左边)。 i
跟踪此字符数。这意味着您必须通过减少它来更新每次迭代中的i
。
请改用此行:
i = i - 1