Heim  >  Artikel  >  Backend-Entwicklung  >  Warum gibt meine rekursive Funktion „None“ statt „True“ zurück, wenn sie das Zeichen findet?

Warum gibt meine rekursive Funktion „None“ statt „True“ zurück, wenn sie das Zeichen findet?

Susan Sarandon
Susan SarandonOriginal
2024-10-26 04:04:27308Durchsuche

Why Does My Recursive Function Return `None` Instead of `True` When It Finds the Character?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn