IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

factoriel est il une fonction ? (super debutant)


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Deficient visuel
    Inscrit en
    Mai 2019
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Deficient visuel

    Informations forums :
    Inscription : Mai 2019
    Messages : 197
    Points : 37
    Points
    37
    Par défaut factoriel est il une fonction ? (super debutant)
    Bonjour a toutes et a tous ,
    J'ai ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    def factoriel(argument):
        if isinstance(argument,int):
            return 1 if argument <= 1 else argument * factoriel(argument-1)
        elif isinstance(argument,str):
            return factoriel(int(argument))
        elif isinstance(argument,(tuple,list)):
            return[factoriel(i) for i in argument]
        else:
            raise TypeError(argment)
     
    print(factoriel(6))
    Dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     if isinstance(argument,int):
            return 1 if argument <= 1 else argument * factoriel(argument-1)
    factoriel est il une fonction ?
    Ma question doit vous paraitre stupide mais j'ai besoin de vos eclaircissements !
    Merci de votre aide

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Oui c'est une fonction, le mot clé qui l'indique est def
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Deficient visuel
    Inscrit en
    Mai 2019
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Deficient visuel

    Informations forums :
    Inscription : Mai 2019
    Messages : 197
    Points : 37
    Points
    37
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    Oui c'est une fonction, le mot clé qui l'indique est def
    Merci fred . Je me suis mal exprimé !
    Dans par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    elif isinstance(argument,str):
            return factoriel(int(argument))
    Je ne comprends pas l'instruction ' return factoriel(int(argument))'
    Je sais que int(argument) converti si une chaine est entrée .
    Je vais encore me ridiculiser mais comment le calcul de la factoriel est fait ? il n'y a pas de boucle for ni autre chose ...

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 285
    Points : 36 773
    Points
    36 773
    Par défaut
    Citation Envoyé par chris7522 Voir le message
    Je vais encore me ridiculiser mais comment le calcul de la factoriel est fait ? il n'y a pas de boucle for ni autre chose ...
    C'est une fonction "récursive".
    Normalement, vous avez vu en maths des suites de la forme Un = n * Un-1 où U0 = 1.
    C'est la définition par récurrence de factorielle.

    Pour une fonction aussi commune pourquoi ne pas aller glaner du côté de Wikipedia?

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Deficient visuel
    Inscrit en
    Mai 2019
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Deficient visuel

    Informations forums :
    Inscription : Mai 2019
    Messages : 197
    Points : 37
    Points
    37
    Par défaut
    Je vous remercie d'avoir prit le temps de me répondre
    Je comprends a présent . Merci et bonne soirée

Discussions similaires

  1. [DOM] Submit n'est pas une fonction ?
    Par dark_vidor dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/03/2009, 14h45
  2. trouver la feuille de laquelle est appelée une fonction
    Par ghosty04 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/01/2009, 14h59
  3. Réponses: 2
    Dernier message: 26/04/2008, 17h31
  4. comment connaitre dans quel fichier .py est définie une fonction
    Par moon93 dans le forum Général Python
    Réponses: 4
    Dernier message: 18/06/2007, 22h21
  5. [sbadcond] Est-ce une fonction de MATLAB ?
    Par pierrecarray dans le forum MATLAB
    Réponses: 2
    Dernier message: 29/04/2007, 18h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo