Maison >développement back-end >Tutoriel Python >Pourquoi ma fonction récursive renvoie-t-elle « Aucun » au lieu de « Vrai » lorsqu'elle trouve le caractère ?
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!