Почему сортировка Питон, сортирует неправильно? В чём ошибка сортировки?
def selection_sort(must):
print('selection sort')
for i in range(0, len(must) - 1):
smallest = i
for j in range(i + 1, len(must)):
if must[j] < must[smallest]:
smallest = j
must[i], must[smallest] = must[smallest], must[i]
must1 = input('Введите путь к файлу: ')
with open(must1) as file:
must = [row.strip() for row in file]
selection_sort(must)
print(must)
В файле разные числа, но выводит это:
[265, 266, 267, 268, 269, 27, 270]
Тут есть некоторая логика, программа считает, что после 269 идёт 27, но это не так.
Вот почему она не правильно сортирует? Как сделать так, чтобы все числа по порядку шли?
Ответы (1 шт):
Автор решения: KoVadim
→ Ссылка
Потому что с файла Вы читаете строки. Именно поэтому "27">"269". Что делать? читать как числа
Но может просто преобразовать к числу? Где то так
must = [int(row.strip()) for row in file]