Maison > Article > développement back-end > Voici quelques options de titre, jouant avec le « pourquoi » dans la question : * **Pourquoi ma fonction Python récursive ne renvoie-t-elle pas True ?** * **Fonction récursive en Python : pourquoi est-elle manquante
Le code récursif ne renvoie pas vrai
Dans le code Python fourni, la fonction récursive isIn() vise à déterminer si un caractère donné existe dans une chaîne. Cependant, le code rencontre un problème inattendu : il ne parvient pas à renvoyer True malgré la localisation réussie du caractère.
La fonction fonctionne en recherchant de manière récursive dans les sous-plages de la chaîne d'entrée aStr. Il partitionne la chaîne en son point médian, compare le caractère cible avec le caractère à ce stade et procède à la recherche dans la moitié supérieure ou inférieure de la chaîne restante en conséquence.
Lorsque le caractère cible est situé à Au milieu, le code affiche "je suis ici maintenant" et tente de renvoyer True. Cependant, il manque une instruction return dans la ligne suivante, ce qui oblige la fonction à renvoyer None au lieu de True.
Pour corriger ce problème, une instruction return doit être ajoutée sur la dernière ligne de la fonction :
<code class="python">return isIn(char, aStr)</code>
Avec cette modification, la fonction retournera correctement True lorsqu'elle localise le personnage cible et False lorsqu'elle épuise toutes les possibilités sans le trouver.
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!