La fonction récursive ne renvoie aucun en Python : résoudre le problème
Dans certains scénarios lors de l'utilisation de fonctions récursives en Python, il est possible de rencontrer une situation où la fonction renvoie Aucun au lieu de la valeur souhaitée. Ce problème survient généralement lorsque la fonction est destinée à renvoyer un chemin spécifique, mais que le résultat réel récupéré est Aucun.
Une cause potentielle de ce problème est l'omission d'une instruction return après l'appel récursif. Pour résoudre ce problème, la fonction doit renvoyer explicitement le résultat de l'appel récursif. Modifier le code pour inclure une instruction return garantira que la fonction renvoie le chemin nécessaire :
else: return get_path(directory[filename], rqfile, path)
De plus, il est conseillé d'inclure systématiquement une instruction return à la fin de la fonction, quel que soit le résultat de la appel récursif. Cette pratique garantit que la fonction renverra toujours une valeur, évitant ainsi la possibilité de renvoyer None par erreur :
for filename in dictionary.keys(): path = prefix+[filename] if not isinstance(dictionary[filename], dict): if rqfile in str(os.path.join(*path)): return str(os.path.join(*path)) return get_path(directory[filename], rqfile, path)
En mettant en œuvre ces ajustements suggérés, la fonction récursive renverra le chemin prévu plutôt que Aucun, résolvant ainsi le problème. rencontré.
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!