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