Bonjour, j'ai commencé le python il y a pas longtemps, et je travaille sur un petit exercice que l'on m'a donné. Je dois à partir d'une liste, trier les valeurs qui s'y trouve par ordre croissant. Seulement, c'est pas aussi simple que je le pensais J'aurais pu chercher sur Google, mais je préfère le faire moi même. Pour l'instant, voila ce que j'ai sorti comme code :
La première partie sert a récupérer la valeur la plus petite de la liste, afin de commencer par le min. Cette partie la est fonctionnelle. En revanche, c'est dans les boucles que ca merdouille. En principe, je parcours le tableau avec 2 boucles, l'une qui compare les valeurs à i et i+1, et je remplace la case au début du tableau dès que je trouve la plus petite valeur. La seconde boucle incrémente de 1 a chaque fois que l'autre boucle a finie pour ne retravailler que sur les nombres non classés.
Il me manque qlq chose mais j'arrive pas à trouver quoi … merci d'avance pour votre aide
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | val=[5,2,4,3] u=1 i=0 min=val[0] minpos=0 if val[i]<min: min=val[i] minpos=i tamp=val[0] val[0]=val[i] val[i]=tamp while i<len(val): while u<(3): if val[i]>val[u]: tamp2=val[u] val[u]=val[i] val[i]=tamp2 print(val) u=u+1 i=i+1 print(val) |
edit: quand j'F5 ça, le terminal m'affiche : [2, 5, 3, 4] [2, 5, 3, 4]