2017-02-03 2 views
0

Mein Code scheint zu funktionieren gut, wenn ich setze (n-1) und n im Bereich Funktion der ersten for-Schleife, die ich nicht in der Lage bin zu understand.Please helfenSelection Art in Python Indizierung

def selec(arr): 
    n=len(arr) 

    for i in range(n): 
     min=i 
     for j in range(i+1,n): 
      if arr[j]<arr[min]: 
        min=j 

    arr[i],arr[min]=arr[min],arr[i] 
    return arr 

print(selec([2, 6, 5, 7, 1, 4])) 
+0

beheben Bitte geben Sie die Formatierung des Codes. Es scheint überhaupt nicht wie vorgesehen zu funktionieren. – glibdud

+0

Ihr Code ist korrekt, außer für die Einrückung. – user152468

Antwort

0

Wenn Sie richtig Code einzurücken, funktioniert alles einwandfrei:

def selec(arr): 
    n = len(arr) 
    for i in range(n): 
     min = i 
     for j in range(i+1,n): 
      if arr[j]<arr[min]: 
       min = j 
     arr[i],arr[min]=arr[min],arr[i] 
    return arr 
+0

Ich war nicht mit Stack-Overflow-Editing-Techniken vertraut, es gibt keine Einrückung Problem.Ich verstehe nur die verschiedenen Lösungen im Internet \ –

+0

ok ... dann denke ich, ich kann die ursprüngliche Frage nicht verstehen. – user152468