Maison >développement back-end >Tutoriel Python >Comment créer une fonction récursive en python

Comment créer une fonction récursive en python

不言
不言original
2019-01-04 17:31:163026parcourir

Les fonctions récursives font partie des techniques de programmation, ce qui signifie que votre programme contient des fonctions que vous appelez vous-même. Comme les fonctions itératives, les fonctions récursives peuvent être utilisées lors de l'exécution répétée d'un traitement similaire, mais les fonctions récursives peuvent gérer des problèmes plus complexes en les remplaçant par un code plus simple. Dans cet article, nous examinerons la création de fonctions récursives en Python.

Comment créer une fonction récursive en python

Les fonctions récursives sont utilisées dans les situations suivantes.

1. Traitement des données

Lors du tri de plusieurs données ou de l'exécution de traitements répétés, des fonctions récursives peuvent être utilisées en fonction de la structure des données.

2. Peut résoudre certains problèmes algorithmiques complexes

Un exemple courant est le problème de la "Tour de Hanoï". Selon une certaine règle, pour chaque changement d'état, une fonction récursive peut être utilisée pour le remplacer et le traiter par une question simple

3 Analyse syntaxique (traitement du langage naturel)

En naturel. langage Lors du traitement, vous pouvez utiliser une fonction récursive pour effectuer le traitement consistant à diviser les phrases en mots.

Comment créer une fonction récursive en python ?

Python permet aux utilisateurs de créer des fonctions récursives à l'aide de fonctions personnalisées.

def myfunc(x):
    if 结束条件:
        return x
    // 进行什么样的处理
    myfunc(x)

Les points clés à noter sont les suivants.

Assurez-vous de définir la condition de fin. S'il n'y a pas de condition de fin, l'appel récursif sera effectué pour toujours et le traitement ne se terminera pas.

Lorsque nous effectuons des appels récursifs, nous devons faire attention aux paramètres. Si les conditions ici restent les mêmes, la condition finale ne peut pas être jugée correctement

Si vous pensez que le contenu du programme est compliqué, voyons s'il peut être implémenté en utilisant des fonctions autres que les fonctions récursives.

Regardons un exemple spécifique

Dans cet exemple de programme, il existe deux façons de confirmer le retour de la somme des entiers 1 à n, en utilisant une fonction récursive et sans utiliser une fonction récursive.

Tout d'abord, la fonction récursive n'est pas utilisée

Le code est le suivant

def sum(n):
    ret = 0
    for i in range(1, n + 1):
        ret += i
    return ret

s = sum(100)
print(s)

Résultat de l'exécution : 5050

Le voici le cas de l'utilisation de la fonction récursive

Le code est le suivant

def sum(n):
    if n < 1:
        return n
    return n + sum(n-1)

s = sum(100)
print(s)

Résultat de l'exécution : 5050

Résumé, ce qui précède est l'intégralité du contenu de cet article, pour un contenu plus passionnant, vous pouvez suivre le site Web chinois php Autres tutoriels connexes ! ! !

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