[Python] Sortieren durch Vertauschen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Kritiker, 20. September 2007 .

  1. 20. September 2007
    Sortieren durch Vertauschen

    guten abend, rr-board!

    ich habe mich mal drangesetzt und ein primitives programm zur sortierung von zahlen einer vorgebenen liste mit python erstellt. der sortieralorithmus ist wirlich sehr simpel (=> sortieren durch vertauschen), doch leider habe ich als absoluter neuling einige probleme mit der umsetzung bzw. der syntax.

    hier ist erstmal der programmcode:

    Code:
    Laenge = len(Liste)
    
    def Sortieren_durch_Vertauschen():
     for feste_Position in range(0,Laenge-2):
     for Position in range(feste_Position+1,Laenge-1):
     if Liste[Position] < Liste[feste_Position]:
     Liste[feste_Position],Liste[Position] = Liste[Position],Liste[feste_Position]
     return Liste
     Liste = [34,555,6,985]
    Sortieren_durch_Vertauschen(Liste)
    print Liste
    das ausführen wird unterbrochen und es wird gesagt, dass "Liste" nicht definiert sei.

    das ist die originalfehlermeldung:
    Code:
    Traceback (most recent call last):
     File "D:\Sonstiges\Eclipse Workspace\Sortieralgorithmen\Sortieren_durch_Vertauschen.py", line 1, in <module>
     Laenge = len(Liste)
    NameError: name 'Liste' is not defined
    über hilfreiche antowrten würde ich mich freuen!

    mfg neger187
     
  2. 20. September 2007
    AW: Sortieren durch Vertauschen

    also ich geh stark davona us das das dein ganze quelltext ist und der fehler sagt dir auchs chon was falsch ist, und zwar ist "liste" nich definiert!

    ich weiss nicht genau aber schreib mal ganz an den anfang noch:

    Code:
    liste = (1,2,3,4)
    bin mir nicht sicher ob das so geht aber hier haste mal nen bsp wie man array in python benutz etc.

    http://www.entwickler-blog.de/archiv/218-Arrays-in-Python.html

    Knusperkeks
     
  3. 23. September 2007
    AW: Sortieren durch Vertauschen

    du rufst hier in der ersten Zeile die Länge der Liste ab:

    Laenge = len(Liste)

    "Liste" selbst wird aber erst in der Methode definiert, die Variable ist somit zu dem Zeitpunkt noch nicht bekannt!
     
  4. 23. September 2007
    AW: Sortieren durch Vertauschen

    Abgesehen von list.sort(), muss du der Funktion die Liste als Parameter übergeben:

    sprich:
    Code:
    def Funktion(Parameter):
    print Paramenter
    
    Funktion("Das wird ausgegeben")
    
    Auf dein Code bezogen:

    Code:
    
    def Sortieren_durch_Vertauschen(Liste):
     Laenge = len(Liste)
     for feste_Position in range(0,Laenge-2):
     for Position in range(feste_Position+1,Laenge-1):
     if Liste[Position] < Liste[feste_Position]:
     Liste[feste_Position],Liste[Position] = Liste[Position],Liste[feste_Position]
     return Liste
    ***** = [34,555,6,985]
    neue_liste = Sortieren_durch_Vertauschen(*****)
    print neue_liste
    Solltest dich nochmal n bischen mit lokalen/globalen Variablen beschäftigen und generell n bisl Code anschaun weil das ist nicht wirklich sauber so.

    Ich kann dir abop-german.berlios.de empfehlen.

    Beginner
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.