. UTILISATION DE LISTE AVEC PYTHON Janvier 2012
Python:
1. Une liste se note entre crochet avec une séparation des éléments de la
liste par des virgules.
[ 12 , 17,13 ]
2. Il existe une commande pour ordonner une liste de nombres L qui est
L.sort().
3. Il existe une commande qui donne la longueur d'une liste L qui est len( L ).
4. Le n ième terme de la liste L n'est pas L[n] mais L[n-1] car la numérotation
commence à 0.
----------------------------------------------------------------------------------------------------------------------------
SITUATION 1
Soit sous Python shell
>>> seq1 = 'abc'
>>> seq2 = (1,2,3)
>>> [ (x,y) for x in seq1 for y in seq2]
Qu'obtient-on après Entrée?
------------------------------------------------------------------------------------------------------------------------------
Réponse:
On obtient des couples où le premier terme est a ou b ou c et
le second terme 1 ou 2 ou 3.
----------------------------------------------------------------------------------------------------------------------------------
SITUATION 2 :
Calcul de la médiane d'une série statistique ( quantitative ).
Il s'agit d'une liste L de nombres.
La première chose à faire sera de l'ordonner de la plus petite valeur
à la plus grande valeur.
Ensuite il faudra savoir quel est l'effectif total N.
• N peut être pair. N/2 est un entier. On a int( N/2) = N / 2 .
Il n'y a pas de valeur " au milieu" de la série.
La médiane "ficyive" est la moyenne des N/2 ème et N/ 2 + 1 ième valeurs .
• N peut être impair.
On a : int( N/ 2 ) < N/2 .
Il y a une valeur "au milieu" de la série.C'est la 1+ int( N/ 2 ) ième valeur.
Ce sera la médiane
ORGANIGRAMME:
ENTREE L qui est une série de nombres
Début
Ordonner L
N <------------ Effectif total de L
n <----------- N / 2
p <------------ Partie entière de n
Si n est un entier Alors
la médiane est la demi-somme de la p ième et ( p + 1 ) ième valeur de L
( car il n'y a pas de valeur "au milieu" )
Sinon
La médiane est la( p+1) ième valeur de L ( C'est la valeur "au milieu" )
Fin
PROGRAMME Python:
----------------------------------
def mediane(L):
L.sort()
N = len(L)
n = N/2.0
p = int(n)
if n == p:
return (L[p-1]+L[p])/2.0
else:
return L[p]
------------------------------------------------------------
La fonction étant définie,
on peut maintenant la tester :
>>> L = [1,3,5,7,9]
>>> mediane(L)
5
Ou encore :
>>> S = [5,7,1,3,5,2]
>>> mediane(S)
4.0
-------------------------------------------------------------------------------------------