Maison  >  Article  >  développement back-end  >  Pourquoi ma fonction récursive renvoie-t-elle « Aucun » au lieu de « Vrai » lorsqu'elle trouve le caractère ?

Pourquoi ma fonction récursive renvoie-t-elle « Aucun » au lieu de « Vrai » lorsqu'elle trouve le caractère ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-26 04:04:27308parcourir

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

Pourquoi le code récursif ne renvoie-t-il aucun ?

Dans l'extrait de code fourni, une fonction récursive, isIn, est définie pour déterminer si un élément donné le caractère existe dans une chaîne. Cependant, il renvoie systématiquement None au lieu de la valeur True attendue lorsque le caractère est trouvé dans la chaîne.

Le code effectue une recherche binaire sur la chaîne, la divisant à plusieurs reprises en deux. Lorsque le caractère est trouvé au milieu, il imprime un message indiquant son emplacement, mais il ne parvient pas à renvoyer True.

Pour remédier à ce problème, une instruction return doit être ajoutée à la dernière ligne de la fonction, comme voir ci-dessous :

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

Sans cette instruction return, la fonction renvoie simplement None lorsqu'elle se termine sans rencontrer d'instruction return. En ajoutant ce retour, la fonction peut renvoyer correctement True lorsque le caractère est situé dans la chaîne.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn