Python .2 : LISTE

                    .  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
-------------------------------------------------------------------------------------------