2017-02-09 3 views
0

Ich versuche eine umgekehrte Funktion zu beheben, die scheinbar falsch funktioniert. Nachdem ich den Körper der Funktion überprüft habe, habe ich gemerkt, dass es scheint, dass ein Abschnitt gelöscht wurde oder etwas ähnliches von jemandem. Ich habe versucht, die fehlenden Informationen hinzuzufügen, aber Python gibt mir einen Typfehler mit einem nicht unterstützten Operandentyp für + zurück. Ich denke, dass ich auf dem falschen Weg bin, weil ich + oder - Operand nicht verwenden kann, um es zu reparieren.Wie behebe ich eine Umkehrfunktion?

Jede Hilfe ist sehr willkommen. Danke im Voraus.

Dies ist die Stelle, die ich nicht an allen, außer dass "i" Teil modifiziert können

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 

Antwort

4

Die Variable i eine ganze Zahl ist. Die Variable s ist eine Zeichenfolge. Es macht keinen Sinn, eine ganze Zahl zu string hinzuzufügen.

In der Variablen i verfolgen Sie die aktuelle Zeichennummer. Sie beginnen mit dem Übergang vom letzten Zeichen (am weitesten rechts) zum ersten Zeichen (ganz links). i verfolgt diese Zeichennummer. Das heißt, Sie müssen das i in jeder Iteration aktualisieren, indem Sie es reduzieren.

Verwenden Sie diese Zeile statt:

i = i - 1 
Verwandte Themen