1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| t1=[32,5,28,98,3,54,27,46]
max=0
i=0
k=0
while i<len (t1):
if t1[i]>max:
max=t1[i]
k=i
i=i+1
print ('Le plus grand nombre est',max, "et cest forcement le nombre nr",k)
print ('la liste t1 au depart:',(t1))
print ('la liste t1 contient',len(t1),'occurences de 0 à',len(t1)-1)
#Trie la liste en ordre croissant
t2=[]
maxprov=0
j=0
k=0
l=len (t1) #nombre d'ocurence t1 avant while 1
while len (t2)<l: #while1
#t1=[32,5,28,98,3,54,27,46]
while j<len (t1): #while2
if t1[j]>maxprov: #si le nombre j de t1 est superieur a maxprov
maxprov=t1[j] #maxprov prend la valeur du nombre j de t1
print ('le j en while 2 est',j)#et on affiche l'emplacement du nombre
k=j #k prend la valeur de cette emplacement (j)
j=j+1 #j est incrementé
t2.append(maxprov) #On ajoute ce nombre a la liste t2
print('k est:',k,'et a comme valeur',maxprov)
del(t1[k]) #on enleve cette occurence de la liste t1
k=0
j=0 #j reprend la valeur 0 pour definir le deuxieme plus grand
print ('j: ',j)
print ('La liste réorganisée en ordre croissant:')
print (t2)
print('le reste de la liste t1',t1)
#________________________________________________________________________________________
# Question:
#Pourquoi la liste t1, qui pourtant se vide bien avec la ligne 33 (del(t1[k])),
#n'est pas pris en compte, mise a jour, dans les nouvelles while 1 |