- Ecrire une fonction en Python, de paramètre n, qui renvoie une liste de n valeurs entières aléatoires comprises entre 0 et 20.
- Exécuter cette fonction plusieurs fois
# -*- coding: utf-8 -*-
from random import *
def Notes(n) :
Liste_notes = []
for i in range(n) :
Liste_notes.append(randint(0,20))
return Liste_notes
>>>>>> Notes(19)
[15, 13, 9, 8, 11, 9, 2, 9, 14, 2, 11, 0, 0, 10, 9, 9, 15, 4, 7]
>>> Notes(19)
[15, 4, 8, 17, 7, 8, 6, 1, 1, 2, 13, 11, 20, 1, 19, 12, 5, 17, 3]
>>> Notes(19)
[9, 7, 9, 11, 12, 14, 6, 7, 19, 12, 6, 20, 19, 16, 6, 0, 12, 6, 6]
>>>
Dans la suite, on fera appel à cette fonction afin de générer une série de notes qu'on utilisera dans la suite pour calculer la moyenne, la médiane, la variance etc.... de cette série de notes.
# -*- coding: utf-8 -*-
from random import *
def Notes(n) :
Liste_notes = []
for i in range(n) :
Liste_notes.append(randint(0,20))
return Liste_notes
def moyenne(liste) :
s = 0
for k in liste:
s = s + k
return s/len(liste)
>>> liste=Notes(19)
>>> liste
[8, 4, 6, 5, 19, 6, 11, 12, 16, 8, 0, 8, 1, 16, 11, 14, 1, 14, 17]
>>> moyenne(liste)
9.31578947368421
>>>
# -*- coding: utf-8 -*-
def moyennePonderee(valeurs,effectifs) :
liste=[]
for i in range(len(valeurs)):
liste.append(valeurs[i]*effectifs[i])
return sum(liste)/sum(effectifs)
>>> valeurs=[10,14,11,9,17,15,12]
>>> effectifs=[1,1,0,2,1,2,1]
>>> moyennePonderee(valeurs,effectifs)
12.625
>>>
# -*- coding: utf-8 -*-
from random import *
def f(x):
return x**2
def Notes(n) :
Liste_notes = []
for i in range(n) :
Liste_notes.append(randint(0,20))
return Liste_notes
def variance(liste) :
liste_carres=[f(x) for x in liste]
moyenne=sum(liste)/(len(liste))
moyenne_carres=sum(liste_carres)/(len(liste))
return moyenne_carres-f(moyenne)
>>> liste=Notes(19)
>>> liste
[20, 5, 5, 13, 10, 8, 18, 0, 3, 13, 4, 4, 6, 17, 18, 20, 7, 5, 2]
>>> variance(liste)
40.864265927977826
>>>
# -*- coding: utf-8 -*-
def mediane(liste) :
liste.sort() #tri croissant de la liste
n=len(liste) # affecter à n la longueur de la liste
if n%2==0:
return (liste[n//2]+liste[n//2-1])/2
else :
return liste[n//2]
>>> liste=Notes(19)
>>> liste
[0, 6, 0, 4, 13, 13, 15, 19, 5, 6, 7, 17, 9, 2, 18, 19, 20, 12, 19]
>>> mediane(liste)
12
>>> liste=Notes(18)
>>> liste
[0, 10, 6, 9, 6, 17, 13, 18, 3, 19, 1, 4, 10, 17, 7, 5, 16, 6]
>>> mediane(liste)
8.0
>>>
# -*- coding: utf-8 -*-
def effectifs_cumul_croissant(liste_effectifs):
L = []
somme_partielle = 0
for x in liste_effectifs :
somme_partielle = somme_partielle + x
L.append(somme_partielle)
return L
def frequences_cumul_croissant(liste_effectifs):
effectifs_cumul = effectifs_cumul_croissant(liste_effectifs)
total = effectifs_cumul[-1]
return [ x/total for x in effectifs_cumul]
def Q1(liste_valeurs, liste_effectifs):
FCC = frequences_cumul_croissant(liste_effectifs)
for i in range(len(liste_valeurs)):
if FCC[i] >= 0.25 :
return liste_valeurs[i]
valeurs = [1,2,4,7,10,12,30]
effectifs = [2,12,60, 150,204,218,222]
print(effectifs_cumul_croissant(effectifs))
print(frequences_cumul_croissant(effectifs))
print(Q1(valeurs, effectifs))
>>>
[2, 14, 74, 224, 428, 646, 868]
[0.002304147465437788, 0.016129032258064516, 0.08525345622119816, \
0.25806451612903225, 0.4930875576036866, 0.7442396313364056, 1.0]
7
>>>
# -*- coding: utf-8 -*-
def mode(liste):
# liste des valeurs sans répétition :
liste_valeurs = []
for x in liste :
if not(x in liste_valeurs) :
liste_valeurs.append(x)
# liste contenant le nombre de répétitions de chaque valeur :
liste_effectifs = []
for x in liste_valeurs :
liste_effectifs.append(liste.count(x))
# valeur max dans liste_effectifs
effectif_maxi = max(liste_effectifs)
# liste qui contiendra les valeurs
# d'effectif = effectif_maxi
liste_mode = []
for x in liste_valeurs :
if liste.count(x) == effectif_maxi :
liste_mode.append(x)
return liste_mode
L = [1,2,3,3, 5, 1, 2, 6,3,5,3]
print(mode(L))
>>>
[3]
>>>