En python, il est indispensable de respecter l'indentation : c'est un élément essentiel de la structure du code.
Dans la fenêtre d'édition des messages du forum, tu as le bouton "Code" qui permet d'insérer proprement un code.
Deuxième chose : à plusieurs endroits tu as mis des parenthèses ( ) alors que dans le code originel il y avait des crochets [ ]. Pas vrai ? Là aussi, c'est une erreur fatale.
- Code: Tout sélectionner
from math import*
def paramvar ( V, P) :
E=0;Var=0
for i in range(len(V)):
E=E+V[i]*P[i]
for i in range(len(V)):
Var=Var+(V[i]-E)**2*P[i]
s=sqrt (Var)
return (E,Var,s)
As-tu un "mode d'emploi" de python ? Il faut le consulter, c'est indispensable.
Tu y trouveras ce que veut dire sqrt, len.
Tu y trouveras des informations sur les listes et leur manipulation, sur la façon d'écrire des boucles etc.
Et sur ce que fait l'algorithme : le nom "paramvar" indique qu'il calcule des paramètres d'une variable aléatoire. Quels paramètres d'une variable aléatoire connais-tu ? Les noms E, Var, s sont aussi des indices.
Pour te mettre sur la voie, faisons tourner la procédure sur une variable aléatoire qui a un rapport avec un dé :
- Code: Tout sélectionner
V=[1,2,3,4,5,6]
P=6*[1/6]
paramvar(V,P)
On obtient la réponse
- Code: Tout sélectionner
(3.5, 2.9166666666666665, 1.707825127659933)