2017-02-09 6 views
0

私は間違っていると思われる逆関数を修正しようとしています。機能の本体をチェックした後、私はそれがセクションにあるように見えることが削除されているか、誰かによってこのようにsomethigされています。私は欠落している情報を追加しようとしていましたが、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 
関連する問題