Maison > développement back-end > Tutoriel Python > Pourquoi ma fonction Python récursive ne renvoie-t-elle aucun résultat ?

Pourquoi ma fonction Python récursive ne renvoie-t-elle aucun résultat ?

Linda Hamilton
Libérer: 2024-11-12 14:28:02
original
817 Les gens l'ont consulté

Why Does My Recursive Python Function Return None?

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)
Copier après la connexion

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)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal