2017-02-03 7 views
0

Мой код, кажется, работает нормально, если я поставил (п-1) и п в функции расстояния из первого для цикла, что я нахожусь не в состоянии помочь understand.Pleaseсортировки Выбор в питона индексации

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

Исправьте форматирование кода. Как представляется, он не работает вообще, как предусмотрено. – glibdud

+0

Ваш код правильный, за исключением отступов. – user152468

ответ

0

Если вы правильно отступы код, все работает отлично:

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

Мне было неудобно использовать методы переполнения стека, нет проблемы с отступом. Я просто понимаю различные решения в Интернете \ –

+0

ok ... тогда я думаю, что не могу понять исходный вопрос. – user152468