# Créé par Bonmatin Frédéric, le 12/03/2019 en Python 3.4 # et modifié par Emmanuelle Lafont le 21/03/2019 # Ce programme calcule le pourcentage d'éléments présents dans l'intervalle # [x_barre-2*sigma ; x_barre+2*sigma] # de la liste "valeurs" pondérée par la liste "effectifs" # ........................................................................ taille=int(input("Quel est le nombre de valeurs différentes de votre liste ?")) valeurs=[] effectifs=[] xi='' ni='' i=0 for i in range (taille): xi=float(input("Saisir la valeur (le centre de classe pour une série à caractère continu) de rang "+str(i+1))) ni=int(input("Saisir l'effectif correspondant")) valeurs.insert(i,xi) #valeurs.insert(i,xi) ajoute la dernière valeur saisie à la suite des autres valeurs dans la liste 'valeurs' effectifs.insert(i,ni) i=i+1 print("Vous avez saisi la liste de valeurs : ",valeurs,", constituée de",len(valeurs),"éléments") print("pondérée par les effectifs : ",effectifs,".") import math # ..................................................................... produits=[] for i in range(taille): ni=effectifs[i] xi=valeurs[i] nixi=ni*xi produits.insert(i,nixi) somme_nixi=sum(produits) N=sum(effectifs) x_barre=somme_nixi/N # Calcul de l'écart-type produits_carrés=[] for i in range(taille): ni=effectifs[i] xi=valeurs[i] nixi_carré=ni*xi*xi produits_carrés.insert(i,nixi_carré) somme_nixi_carre=sum([produit for produit in produits_carrés]) sigma=round(math.sqrt(somme_nixi_carre/N - x_barre**2),4) # arrondi à 4 décimales # ...................................................................... min = x_barre-2*sigma max = x_barre+2*sigma # ...................................................................... valeurs=sorted(valeurs) # tri de la liste n=0 for i in range(taille): if valeurs[i]>=min and valeurs[i]<=max: n=n+effectifs[i] # ...................................................................... p=round(n/N*100,2) # arrondi à 2 décimales # ...................................................................... print("moyenne = ",x_barre) print("écart-type = ",sigma) print("intervalle = [ ",min," , ",max," ]") print("nombre d'éléments dans l'intervalle =",n) print("pourcentage =",p)