Programmation informatique python
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Programmation informatique python



  1. #1
    leon266

    Programmation informatique python


    ------

    Bonjour,
    Voici mon énoncé :
    utiliser la fonction fact pour écrire une fonction qui renvoie C(n,p):n!/p!(n-p)!

    j'ai écris le programme suivant :
    Code:
    def fact(n):
        factorielle=1
        for i in range (2,n+1):
            factorielle=factorielle*i
        return(factorielle)
    
    def combinaison(n,p):
        x=(factorielle(n))/(factorielle(p)*factorielle(n-p))
        x=int(x)
        return(x)
    n=int(input("quelle est la valeur de n?"))
    n=int(input("que vaut p?"))
    print(combinaison(n,p))

    le programme tourne, or il me met que p n'est pas définit est-ce que quelqu'un peut m'expliquer pourquoi?
    merci d'avance

    -----
    Dernière modification par JPL ; 10/08/2018 à 13h45. Motif: Ajout de la balise Code (#) pour garder l'indentation

  2. #2
    albanxiii
    Modérateur

    Re : Programmation informatique python

    Bonjour,

    Je recopie votre code :

    Code:
    n=int(input("quelle est la valeur de n?"))
    n=int(input("que vaut p?"))
    Vous voyez ?
    Not only is it not right, it's not even wrong!

  3. #3
    leon266

    Re : Programmation informatique python

    oui j'ai remplacé par :
    n=int(input("quelle est la valeur de n?"))
    p=int(input("que vaut p?"))

    mais maintenant il me met que "factorielle" n'est pas définit

  4. #4
    CM63

    Re : Programmation informatique python

    Ben oui, tu as appelé ta fonction fact, et non pas factorielle.

    Code:
    def fact(n):

  5. A voir en vidéo sur Futura
  6. #5
    Fustigator

    Re : Programmation informatique python

    Citation Envoyé par CM63 Voir le message
    Ben oui, tu as appelé ta fonction fact, et non pas factorielle.

    Code:
    def fact(n):
    De toute façon, il y a une erreur manifeste dans le code fonction. (et je ne connais rien à Python).

  7. #6
    Loupsio

    Re : Programmation informatique python

    De toute façon, il y a une erreur manifeste dans le code fonction. (et je ne connais rien à Python).
    Ah? je ne vois pourtant rien d'étrange, a part ce qu'a mentionné CM63, (a moins que ce soit sa formule qui soit fausse)
    car une fois corrigé son code donne bien le bon résultat, pour n=8 et p=3 son programme me renvoi 56, le meme résultat que quand j'applique sa formule "x=(factorielle(n))/(factorielle(p)*factorielle(n-p))" à la main

    PS, en revanche je te conseille d'utiliser les balise de code quand tu écris du code sur les forums, cela permet de garder l'indentation, et ton code n'en sera que plus lisible, notamment, on devine que ta fonction se termine au "return" mais sans ca on ne sait pas vraiment qu'est ce qui est dans ta fonction et qu'est ce qui est à l'exterieur
    Dernière modification par Loupsio ; 10/08/2018 à 13h04.

  8. #7
    pm42

    Re : Programmation informatique python

    Citation Envoyé par Loupsio Voir le message
    Ah? je ne vois pourtant rien d'étrange, a part ce qu'a mentionné CM63, (a moins que ce soit sa formule qui soit fausse)
    car une fois corrigé son code donne bien le bon résultat, pour n=8 et p=3 son programme me renvoi 56, le meme résultat que quand j'applique sa formule "x=(factorielle(n))/(factorielle(p)*factorielle(n-p))" à la main
    Pareil. Je ne vois pas d'erreur et en testant le code, il semble donner les bons résultats.

  9. #8
    Fustigator

    Re : Programmation informatique python

    Laissez tomber ...

    de la m..de dans les yeux ....
    avec une excuse : en général cet exercice vise à démontrer l'usage de la récursivité et on s'attend à une fonction factorielle écrite sous forme d'appel récursif .

    Du genre :

    Code:
    fact(n)
    if n = 0 return 1;
    return n * fact(n - 1);

Discussions similaires

  1. langage de programmation python
    Par mariem25 dans le forum Programmation et langages, Algorithmique
    Réponses: 3
    Dernier message: 13/01/2018, 13h43
  2. Programmation python
    Par invite559d53a0 dans le forum Programmation et langages, Algorithmique
    Réponses: 11
    Dernier message: 05/05/2011, 15h29
  3. Programmation d'un modem en python
    Par invitea0da0615 dans le forum Programmation et langages, Algorithmique
    Réponses: 3
    Dernier message: 26/04/2011, 16h22
  4. Programmation python : objets
    Par invite559d53a0 dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 13/02/2011, 14h22
  5. aide programmation python
    Par Elek dans le forum Logiciel - Software - Open Source
    Réponses: 30
    Dernier message: 10/06/2006, 12h58