Un mémo que j'ai écrit une fonction de base en Python en utilisant la récurrence

J'avais du mal à comprendre la récidive, alors j'ai pensé que je l'avais fait pour moi-même. Nous pourrions en ajouter d'autres à l'avenir. Le langage est Python3.

Qu'est-ce qu'une fonction récursive?

--Une fonction récursive est une fonction qui s'appelle elle-même dans la fonction. --Doit être implémenté pour qu'il se termine toujours quelque part

Fonction récursive pour trouver la somme de 1 à n

sum.py


def sum(n):
    if n <= 1:
        return n
    return n + sum(n-1)
    
print(sum(100))    # 5050

sum.py


def sum(n):
    res = 0
    if n >= 1:
        res = n + sum(n-1)
    return res

print(sum(100))    # 5050

Fonction récursive pour trouver la puissance de n

factorical.py


def fractorial(n):
    if n <= 1:
        return n
    return n * fractorial(n-1)
    
print(fractorial(5))    # 120

factorical.py


def factorial(n):
    res = 1
    if n >= 1:
        res = n * factorial(n-1)
    return res
   
print(factorial(5))    # 120

Fonction récursive pour trouver une liste qui double chaque élément de la liste

def double_list(lst):
    if lst == []:
        return []
    
    first = lst[0]
    rest = lst[1:]
    
    return [first*2] + double_list(rest)
    
print(double_list([1,2,3]))    # [2, 4, 6]

Une explication facile à comprendre est ici

Méthode de division mutuelle euclidienne

euclidean.py


def gcd(m, n):
    r = m % n
    if r == 0:
        return n
    return gcd(n, r)

print(gcd(1071, 1029))   # 21

référence

L'exemple le plus simple pour comprendre les fonctions récursives [Fonction rétroactive comprise en Python] (https://qiita.com/dhirabayashi/items/2f079e62fa2e286f1766) [Comprendre les fonctions récursives en Python] (https://note.com/shimakaze_soft/n/nf17633fe257c) L'idée de faire d'une boucle une fonction récursive

Impressions

Il est difficile d'imaginer une récidive et j'ai encore du mal ... Le code a l'air simple, mais il faut du temps pour comprendre comment cela fonctionne. Ce point de déclaration est facile à comprendre, n'est-ce pas?

Recommended Posts

Un mémo que j'ai écrit une fonction de base en Python en utilisant la récurrence
Dessiner un graphique d'une fonction quadratique en Python
Récupérer l'appelant d'une fonction en Python
Un mémo que j'ai écrit un tri de fusion en Python
Créer une fonction en Python
Mémo de connexion SSH utilisant ProxyCommand de ssh_config en Python
Une note lors de la création d'un graphe dirigé à l'aide de Graphviz en Python
Comment développer dans un environnement virtuel Python [Memo]
Pour renvoyer char * dans une fonction de rappel à l'aide de ctypes en Python
Essayez d'exécuter une fonction écrite en Python à l'aide de Fn Project
Lors de l'écriture d'un programme en Python
[Python] Mémo des phrases fréquemment utilisées dans les scripts Python
Une fonction qui mesure le temps de traitement d'une méthode en python
Pratique d'utilisation de ceci en Python (mauvais)
Précautions lors du décapage d'une fonction en python
Afficher une liste d'alphabets en Python 3
Scraping de sites Web à l'aide de JavaScript en Python
Dessinez une structure arborescente en Python 3 à l'aide de graphviz
Écriture de base Python
Élément de mémo Python efficace 4 Écrire une fonction d'aide au lieu d'une expression compliquée
[Python] [Word] [python-docx] Essayez de créer un modèle de phrase de mot en Python en utilisant python-docx
Un mémo qui a fait un tutoriel pour exécuter python sur heroku
Créer un fichier GIF en utilisant Pillow en Python
Un mémo que j'ai écrit un tri rapide en Python
Copiez la liste en Python
Afficher les avis sur les médicaments à l'aide de listes en Python
Créez un tracé de R semblable à un joyplot avec python
Sortie sous la forme d'un tableau python
Touchons une partie de l'apprentissage automatique avec Python
Créez un fichier MIDI en Python en utilisant pretty_midi
Environnement enregistré pour l'analyse des données avec Python
Histoire de base de l'héritage en Python (pour les débutants)
Résumé des opérations Excel utilisant OpenPyXL en Python
[Circuit x Python] Comment trouver la fonction de transfert d'un circuit en utilisant Lcapy
Effectuer la "diagonalisation de la matrice symétrique A à l'aide de la matrice orthogonale U" en Python (décomposition en valeurs propres)
Opérations de base sur les blocs de données écrites par des débutants au cours d'une semaine d'apprentissage de Python
Extraire des éléments (en utilisant une liste d'index) comme NumPy d'une liste / taple Python
Tri de base en Python
Mémo de base Python - Partie 2
Notes de commande de base Python
Connaissance de base de Python
Mémo de grammaire de base Python
Mémo de base Python - Partie 1
[Python] Implémentation du clustering à l'aide d'un modèle gaussien mixte
Créer un bot de collecte de données en Python à l'aide de Selenium
Mémo connecté à HiveServer2 d'EMR avec python
Bases de l'écran d'entrée / sortie en utilisant tkinter en python3
Découpez une partie de la chaîne à l'aide d'une tranche Python
Une collection de code souvent utilisée dans Python personnel
Un mémorandum lors de l'écriture de code expérimental ~ Se connecter en python
La douleur de gRPC en utilisant Python. Novembre 2019. (Mémo personnel)
Regrouper par éléments consécutifs d'une liste en Python
Résoudre un coup (retour en arrière sans récursivité en Python)
Afficher un histogramme des valeurs de luminosité de l'image en python
expression canonique python ou mémo d'objet correspondant
Comment exécuter une commande à l'aide d'un sous-processus en Python
Un mémorandum sur la mise en œuvre des recommandations en Python
J'ai essayé d'utiliser Python (3) au lieu d'un calculateur de fonctions