Почему функция, которая должна возвращать сортированный по возрастанию список чисел возвращает None?

Рейтинг: 0Ответов: 1Опубликовано: 03.06.2023

Я хочу сделать так, чтобы на вход программы подавалась строка, содержащая целые числа, и программа возвращала сортированный по возрастанию список этих чисел. Но программа возвращает None. Из-за чего это происходит?

Вот код:

Lst = input('Введите несколько натуральных чисел:').split()

    
def sort_list(lst):
    for i in lst:
        lst[lst.index(i)] = int(i)
    return lst.sort()


print(sort_list(Lst))

Ответы

▲ 3

Потому что метод sort() просто сортирует список "на месте" (мутирует объект и все), он ничего не возвращает. Если хотите вернуть отсортированный список, то просто напишите так:

return sorted(lst)

А если же использовать метод sort(), то так:

lst.sort()
return lst