Formule mathématique en python

Templier Nocturne Messages postés 7734 Date d'inscription   Statut Membre Dernière intervention   -  
Templier Nocturne Messages postés 7734 Date d'inscription   Statut Membre Dernière intervention   -
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 ?
A voir également:

6 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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
Templier Nocturne Messages postés 7734 Date d'inscription   Statut Membre Dernière intervention   1 106
 
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
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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
Templier Nocturne Messages postés 7734 Date d'inscription   Statut Membre Dernière intervention   1 106
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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
Templier Nocturne Messages postés 7734 Date d'inscription   Statut Membre Dernière intervention   1 106
 
ben je vais essayer alors...je ne garantie rien
0