2017-02-09 79 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