Formule mathématique en python

Fermé
Templier Nocturne Messages postés 7734 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 - 28 févr. 2009 à 16:43
Templier Nocturne Messages postés 7734 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 - 28 févr. 2009 à 20:41
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
28 févr. 2009 à 17:02
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 jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 1 101
28 févr. 2009 à 17:33
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
28 févr. 2009 à 17:36
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 jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 1 101
28 févr. 2009 à 17:49
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
28 févr. 2009 à 18:25
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 jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 1 101
28 févr. 2009 à 20:41
ben je vais essayer alors...je ne garantie rien
0