Exercices math python
-
Mm12 dernière édition par
Bonjour
Besoin d aide
Voici exerciceOn veut calculer la moyenne pondérée d une série de valeurs numérique
Pour cela on définit la liste L de ces valeurs et le liste E des effectifs correspondant
Completer le programme de la fonction moy ci contre afin qu'elle retourne la moyenne pondérée de cette série
-
Mm12 dernière édition par
J ai trouvé cela mais vraiment pas sûr
For i in range (i;L)
-
@m12 Bonjour,
Utilise la formule de calcul de la moyenne pondérée :
Soit
∑i=1nxi×ni∑i=1nni\dfrac{\sum_{i=1}^{n} {x_i\times n_i} }{\sum_{i=1}^{n} n_i}∑i=1nni∑i=1nxi×ni
-
Mm12 dernière édition par
@Noemi a dit dans Exercices math python :
@m12 Bonjour,
Utilise la formule de calcul de la moyenne pondérée :
Soit
∑i=1nxi×ni∑i=1nni\dfrac{\sum_{i=1}^{n} {x_i\times n_i} }{\sum_{i=1}^{n} n_i}∑i=1nni∑i=1nxi×niOK
Donc
Def moy(L;E) :
S=0; N=0
For i in range (I ; L)
S=S+L(i) * E (i)
N = N + E(i)
Return (s/n)Mais vraiment pas sur
-
BBlack-Jack dernière édition par
Bonjour
Attention de respecter les alignements de lignes.
Second soucis :
Le "for i in range (I ; L)" n'est pas correct.Il faut un nombre de boucles égal à la taille des listes (n'importe laquelle, car elles sont supposées posséder le même nombre de données)
Donc ceci, par exemple :
def moy(L,E): s = 0 ; N = 0 for i in range(0,len(L)): s = s + L[i]*E[i] N = N + E[i] return(s/N)
-
BBlack-Jack dernière édition par Black-Jack
Complément à ma réponse précédente.
Si on veut tester, on peut créer 2 listes et appeler (et printer) la procédure écrite.
def moy(L,E): s = 0 ; N = 0 for i in range(0,len(L)): s = s + L[i]*E[i] N = N + E[i] return(s/N) L=[1,5,6,-8] E=[17,2,11,5] print(moy(L,E))
La réponse dans cet exemple est:
1.5142857142857142
-
Mm12 dernière édition par
@Black-Jack a dit dans Exercices math python :
Bonjour
Attention de respecter les alignements de lignes.
Second soucis :
Le "for i in range (I ; L)" n'est pas correct.Il faut un nombre de boucles égal à la taille des listes (n'importe laquelle, car elles sont supposées posséder le même nombre de données)
Donc ceci, par exemple :
def moy(L,E): s = 0 ; N = 0 for i in range(0,len(L)): s = s + L[i]*E[i] N = N + E[i] return(s/N)
Ah ok je me suis juste tromper à la ligne for