PYTHON.2 FEUILLE D'EX n° 8 BTS SIO

                        INFO PYTHON.2        FEUILLE D'EX   n° 8        BTS SIO       MARS 2012

 ---------------------------------------------------------------------------------------------------------------------------------------

    COURS:

           THEME:

     •Tri à bulle d'une liste:                 

             Deux par deux on ne  change l'ordre de deux termes que si  

             l'ordre de leurs  indices  ne correspond pas à l'ordre croissant de leurs valeurs .

             Ainsi, progressivement, les termes se rangent dans l'ordre croissant de leurs valeurs 

            "comme des bulles de champagne qui remontent."

     •  comparaison  xrange(....) et range(....)   ( c'est pratiquement pareil )

       •  Soit a et b deux entiers naturels avec a ≤ b .

        • for i in  xrange( entier a, entier b )  donne les entiers de a à l'entier b-1 )

        • for i in reversed(xrange(entier b))    ( donne le compte à rebours à partir de l'entier b-1 jusqu'à 0)

        • for i in reversed(xrange(entier a,entier b))    ( donne le compte à rebours à partir de l'entier b-1 jusqu'à a)

        • len( liste)                                ( donne le nombre de termes de la liste )

       • liste.sort()

                Cela ordonne les valeurs de la liste dans l'ordre croissant.

                Cela permet d'avoir le même résultat final qu'un tri à bulle.

------------------------------------------------------------------------------------------------------------------

     EXERCICE 1

          Que donne le petit script suivant ?

def rez():

       for i in xrange(5):

             print i

------------------------------------------------------------------------------------------------------------------

           EXERCICE 2

           Que donne le petit script suivant ?

def reau():

       for i in xrange(5):

             print " julien"

------------------------------------------------------------------------------------------------------------------

       EXERCICE 3

              Que donne le script suivant ?

def rat():

       for i in xrange(2,5):

              print i

------------------------------------------------------------------------------------------------------

           EXERCICE 4

                    Que donne le script suivant ?

def reuter():

       for j in reversed(xrange(2,5)):

             print j

-----------------------------------------------------------------------------------------------

           EXERCICE 5

           Que donne le script suivant ?

def reuter():

       for j in reversed(xrange(5)):

             print j

----------------------------------------------------------

         EXERCICE 6    Tri à bulle

        Soit la liste lis = [ 7, 5, 8, 3, 6] de 5 termes.

         Ecrire un script qui permet de ranger ses termes dans l'ordre croissant.

        Le principe:  Deux par deux on ne  change l'ordre de deux termes que si  

        l'ordre de leurs  indices  ne correspond pas à l'ordre croissant de leurs valeurs .

            Ainsi, progressivement, les termes se rangent dans l'ordre croissant de leurs valeurs 

            comme des bulles de champagne.

------------------------------------------------------------------------------------------------------------------------  

      EXERCICE 7

        1.  Reprendre l'exercice précédent en demandant la saisie de la liste des valeurs

             à classer dans l'ordre croissant.

         2. Reprendre le même objectif final mais avec liste.sort().

--------------------------------------------------------------------------------------------------------