Неверный результат после перевода PHP на Python 3.5

Я написал реализацию алгоритмов выбора и вставки в PHP и хотел перевести их на Python в качестве теста для сравнения времени выполнения.

Поскольку я относительно новичок в Python, мне интересно, почему этот код не работает должным образом. Возвращает массив, указанный в вызове функции.

Python Script:

def insertionSort(sort_array: list):
for i in range(0, len(sort_array)-1, +1):
for j in range (i+1, 0, -1):
if sort_array[j-1] > sort_array[j]:
temp = sort_array[j-1]
sort_array[j-1] = sort_array[j]
sort_array[j] = temp
return sort_array

print(insertionSort([11, 2, 4, 8, 7, 3, 9]))
[11, 2, 4, 8, 7, 3, 9]

Процесс завершен с кодом выхода 0

PHP Script (рабочий)

function insertionSort($sort_array){
for ($i = 0; $i < count($sort_array); $i++){
for ($j = $i + 1; $j > 0; $j--){
if($sort_array[$j-1] > $sort_array[$j]){
$temp = $sort_array[$j-1];
$sort_array[$j-1] = $sort_array[$j];
$sort_array[$j] = $temp;
}
}
}
return $sort_array;
}

Заранее спасибо. Любой критик моего стиля Python приветствуется.


редактировать: Очевидно, это проблема с моей локальной системой, так как онлайн-интерпретатор возвращает правильно отсортированный массив: https://repl.it/GULW

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector