Formule mathématique en python

Bonjour,

je dispose d'une formule mathématique disponible sur ce lien http://www.hostingpics.net/viewer.php?id=438781equation.png mais je ne sais pas la mettre en python...

quelqu'un sais il faire ça ?

6 réponses

  1. Contributeur
    Salut,
    Tu te crées la fonction factorielle, la fonction combinatoire, et après c'est une simple somme.
    def fact(a):
        pass
    
    def C(n,p):
        pass
    
    if __name__=='__main__':
        res=0
        for k in range(c,b+1):
            res+=C(b,k)*(1.0/a)**k*(1-1.0/a)**(b-k)
    
        print res
    
    

    Je te laisse faire la fonction factorielle et C ;)
    De plus, n'oublie pas de définir les variables comme c b et a.
    0
    1. ben en fait le problème c'est que je sais pas faire ça...je connais pas super bien python et en plus je comprend rien à la formule...
      0
      1. Contributeur
        Tu n'as pas besoin de comprendre la formule, je t'ai donné le code. Il ne te reste plus qu'à faire factoriel et la fonction C.
        Sachant que C(n,p) vaut fact(n)/fact(p)/fact(n-p). Hum, je t'ai même donné la réponse ^^.
        Si tu n'arrives pas à faire la fonction factoriel. Ecris au moins l'algorithme.
        0
        1. Il ne te reste plus qu'à faire factoriel et la fonction C.

          ben en fait je sais vraiment pas faire ça...mon code resemble à ça :

          #!/usr/bin/python
          # -*- coding: iso-8859-1 -*-
          
          zmin=int(raw_input("zombies min="))
          zmax=int(raw_input("zombies max="))
          defville=int(raw_input("défense de la ville="))
          c=int(raw_input("citoyens ="))
          
          #retrait de la défense de la ville
          zmaxen=zmax-defville
          zminen=zmin-defville
          
          #impossible de subir une attaque négative
          if zmaxen<0:
          	zmaxen=0
          
          if zminen<0:
          	zminen=0
          
          #calcule des  chances minimuns et maximums
          percentmax=((float(c)-1)/c)**zmaxen
          percentmin=((float(c)-1)/c)**zminen
          
          #écriture du résultat
          print "pourcentage de survie si l attaque est au plus fort =", percentmax
          print "pourcentage de survie si l attaque est au moins fort =", percentmin


          ma formule mathématique est en gras et je cherche à la remplacer par la nouvelle (je m'arrangerais pour changer les lettres) sauf que mes connaissances en python sont vraiment légères et je ne sais pas du tout faire ce que tu me dit.( je comprend même pas la formule que j'ai)
          0
          1. Contributeur
            Dans mon précédent post, il y a la réponse pour la fonction C.

            Sachant que C(n,p) vaut fact(n)/fact(p)/fact(n-p)
            Donc :
            def C(n,p) :
                return fact(n)/fact(p)/fact(n-p)
            


            Pour l'autre fonction, je te demande pas de le faire en python, mais de le faire en algorithme ou en français ;).
            Ca prends même pas 5 lignes. fact(5) = 5*4*3*2*1.

            J'en dirais pas plus, pour ne pas tout faire non plus. Mais note bien que là, je ne parle pas de python, mais d'algorithmique très basique.
            0
            1. ben je vais essayer alors...je ne garantie rien
              0