J'ai essayé de mettre en œuvre le tri par insertion en Python:Pourquoi ma fonction de tri d'insertion renvoie-t-elle None?
def insert_sort(list):
y= len(list)
for b in range(1,y):
value = list[b]
a = b-1
while a>= 0:
if list[a] > value:
list[a+1] = list[a]
list[a] = value
a = a -1
else:
break
li = [34, 55, 4, 455, 556, 33, 2, 54, 6, 8, 1]
l= insert_sort(li)
print (l)
Mais je ne peux pas dire si cela fonctionne même parce l
sort toujours None
. Qu'est-ce qui ne va pas?
Conseil: compter le nombre de déclarations 'return'. – torek
Ce n'est pas votre problème réel mais l'utilisation de 'list' comme nom d'une variable en Python est un mauvais style car ce nom est déjà pris par une fonction intégrée. – zwol
Pourquoi avez-vous besoin de retourner quelque chose? Il modifie la liste qui lui a été donnée en argument, donc vous pouvez juste imprimer 'li'. – Barmar