如何修复反向函数?

时间:2017-02-09 13:27:21

标签: python function

我正在尝试修复一个似乎工作错误的反向功能。在检查了函数的主体之后,我注意到某个部分似乎被某个部分删除了或者像这样的某个部分。我试图添加缺少的信息,但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

1 个答案:

答案 0 :(得分:4)

变量i是一个整数。变量s是一个字符串。向字符串添加整数是没有意义的。

在变量i中,您可以跟踪当前的字符编号。首先从最后一个字符(最右边)到第一个字符(最左边)。 i跟踪此字符数。这意味着您必须通过减少它来更新每次迭代中的i

请改用此行:

i = i - 1