Warum gibt rekursiver Code „Keine“ zurück?
Im bereitgestellten Codeausschnitt ist eine rekursive Funktion, isIn, definiert, um zu bestimmen, ob eine bestimmte Zeichen existiert innerhalb einer Zeichenfolge. Es wird jedoch stets None anstelle des erwarteten True-Werts zurückgegeben, wenn das Zeichen in der Zeichenfolge gefunden wird.
Der Code führt eine binäre Suche in der Zeichenfolge durch und teilt sie wiederholt in zwei Hälften. Wenn das Zeichen in der Mitte gefunden wird, gibt es eine Meldung aus, die seine Position angibt, gibt jedoch nicht „True“ zurück.
Um dieses Problem zu beheben, sollte eine Return-Anweisung in die letzte Zeile der Funktion eingefügt werden, z siehe unten:
<code class="python">return isIn(char, aStr)</code>
Ohne diese Return-Anweisung gibt die Funktion einfach None zurück, wenn sie beendet wird, ohne auf eine Return-Anweisung zu stoßen. Durch das Hinzufügen dieser Rückgabe kann die Funktion ordnungsgemäß „True“ zurückgeben, wenn sich das Zeichen innerhalb der Zeichenfolge befindet.
Das obige ist der detaillierte Inhalt vonWarum gibt meine rekursive Funktion „None' statt „True' zurück, wenn sie das Zeichen findet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!