2017-02-09 41 views
0

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

回答

4

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

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

使用此行:

i = i - 1