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 :

Factorielle de P


Sujet :

Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2014
    Messages : 4
    Par défaut Factorielle de P
    Bonjour,

    Je suis nouveau sur le site et également débutant (Très débutant en Python)

    J'aimerais faire un petit programme de calcul d'une factorielle, mais j'ai un petit problème.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    P=input("Entrer le nombre dont vous souhaitez la factoriel : ")
    i = 1
    while i<=5:
        print (P)
        P = i * P
        i += 1
    Et voici ce qui en résulte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> ================================ RESTART ================================
    >>> 
    Entrer le nombre dont vous souhaitez la factoriel : 5
    5
    5
    55
    555555
    555555555555555555555555
    >>>
    Je devrais avoir (Ligne dans l'ordre) :
    5
    10
    30
    120
    600

    Merci d'avance de votre aide.

    Skinzee

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 060
    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 : 4 060
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> from math import factorial
    >>> factorial(5)
    120
    ou selon votre solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    >>> res = 1
    >>> i = 5
    >>> while i > 1:
    ...     res *= i
    ...     i -= 1
    ... 
    >>> res
    120

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2014
    Messages : 4
    Par défaut
    Merci de votre réponse, mais j'ai essayé de l'adapter à mon code, mais cela ne marche toujours pas...

    J'ai adapté comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    p=input("Entrer le nombre dont vous souhaitez la factoriel : ")
    i = 5
    while i >= 1:
         p *= i
         i -= 1
         print (p)
    Et j'obtient cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    >>> 
    Entrer le nombre dont vous souhaitez la factoriel : 5
    55555
    55555555555555555555
    555555555555555555555555555555555555555555555555555555555555
    555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555
    555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555
    >>>
    Pouvez vous m'aider avec mes paramètres ?

  4. #4
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 060
    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 : 4 060
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    p = int(input("Entrer le nombre dont vous souhaitez la factoriel : "))
     
    res = 1
     
    while p > 1:
         res *= p
         p -= 1
         print(res)
    ???

  5. #5
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2014
    Messages : 4
    Par défaut
    Nickel cela fonctionne...
    Maintenant me reste plus qu'à décomposer et comprendre ce code

  6. #6
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 060
    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 : 4 060
    Par défaut
    Cadeau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    p = int(input("Entrer le nombre dont vous souhaitez la factoriel : ")) # chaine -> entier à l'aide de int(...)
     
    res = 1 # 1 x 2 x ... x p
     
    while p > 1: # p va de 5 à 1 exclu
         res *= p # équivalent à res = res * p
         p -= 1 # p = p-1
         print(res)

  7. #7
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2014
    Messages : 4
    Par défaut
    Super, merci bien

  8. #8
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 060
    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 : 4 060
    Par défaut
    De rien, n'oublie pas le résolu si c'est ok pour toi...

    Bonne continuation.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant][Conception] Factorielle en Java par recursivité
    Par Sylvester dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 02/11/2008, 20h42
  2. Calcul du factorielle
    Par knecmotet dans le forum C
    Réponses: 15
    Dernier message: 16/09/2005, 11h33
  3. Chaine des caractères et factorielle
    Par ixterm dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 03/05/2005, 08h33
  4. factoriel
    Par gruni1 dans le forum C++
    Réponses: 15
    Dernier message: 15/03/2005, 21h51
  5. fonction qui calcule la factorielle ?
    Par piff62 dans le forum C
    Réponses: 8
    Dernier message: 27/02/2005, 11h00

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