Vinnaren i pepparkakshustävlingen!
2009-05-08, 14:43
  #1
Medlem
Qawseds avatar
Har en sorteringsalgoritm:
Kod:
def sortera(l):
    "Sorts l in place and returns it."
    for passesLeft in range(len(l)-1, 0, -1):
        for index in range(passesLeft):
            if l[index] > l[index + 1]:
               l[index], l[index + 1] = l[index + 1], l[index]
    return l
Hur gör jag för att sedan anropa den när jag vill sortera något? Har gjort detta:
Kod:
def sortera(l):
    "Sorts l in place and returns it."
    for passesLeft in range(len(l)-1, 0, -1):
        for index in range(passesLeft):
            if l[index] > l[index + 1]:
               l[index], l[index + 1] = l[index + 1], l[index]
    return l

sortera = [5,8,1,19,99,52,11] 

for val in sortera:
	print val
På något kul sätt måste jag ju få in metoden så att den sorterar ut min array. Hur?
Citera
2009-05-09, 14:41
  #2
Medlem
War Skeletons avatar
Du matar helt enkelt funktionen "sortera" med en lista, då returnerar den listan du matade den med, fast sorterad.

Kod:
def sortera(l):
    for passesLeft in range(len(l)-1, 0, -1):
        for index in range(passesLeft):
            if l[index] > l[index + 1]:
               l[index], l[index + 1] = l[index + 1], l[index]
    return l

lista = sortera([5,8,1,19,99,52,11])

for val in lista:
    print val
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback