ホームページ  >  記事  >  バックエンド開発  >  再帰関数が文字を見つけると「True」ではなく「None」を返すのはなぜですか?

再帰関数が文字を見つけると「True」ではなく「None」を返すのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-26 04:04:27308ブラウズ

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

なぜ再帰コードは None を返すのですか?

提供されたコード スニペットでは、再帰関数 isIn が定義されており、指定されたコードが返されるかどうかを判断します。文字列内に文字が存在します。ただし、文字列内で文字が見つかった場合は、期待される True 値ではなく常に None を返します。

コードは文字列に対して二分検索を実行し、繰り返し文字列を半分に分割します。文字が中間点で見つかると、その位置を示すメッセージが出力されますが、True は返されません。

この問題を修正するには、次のように関数の最後の行に return ステートメントを追加する必要があります。以下に示すように:

<code class="python">return isIn(char, aStr)</code>

この return ステートメントがないと、関数は return ステートメントに遭遇せずに終了するときに単純に None を返します。この戻り値を追加することで、文字列内に文字が存在する場合に関数は適切に True を返すことができます。

以上が再帰関数が文字を見つけると「True」ではなく「None」を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。