Помогите!!! Что не так с моим кодом? Ответ правильный, но выдаёт ошибку.
Помогите написать правильный код)

Приложения:

mirageKZ: это другое задание?
sfsdfsdfds: мне надо как-то оттуда лямбду убрать, но чтоб функция выдала такой же ответ
sfsdfsdfds: Это то же задание, просто есть другое решение
mirageKZ: это же сортировка и использованием лямбда функции. Никуда ты в таком виде лямбду не выкинешь.
sfsdfsdfds: Ну так вот
sfsdfsdfds: Я пытался это преподавателю сказать, но он говорит, чтоб решил без лямбды
sfsdfsdfds: Поэтому я попробовал второй код, но он, как видишь, выдаёт ошибку
mirageKZ: попробуй мой вариант
mirageKZ: строкой print(radix_sort(array)) внутри функции ты как раз и можешь вызывать ошибку.
sfsdfsdfds: Один фиг, одно и то же(

Ответы

Ответ дал: mirageKZ
1

Ответ:

Python

def radix_sort1(array):

   n=k=1

   while n<=9999:

       for i in range(len(array) - k):

           for j in range(i+1, len(array) - k + 1):

               if array[i]// n % 10 > array[j] // n % 10:

                   array[i], array[j] = array[j], array[i]

       n *= 10

       k += 1

   return array

def radix_sort2(array):

      return sorted(array, key = lambda f: int(str(f)[::-1] + '0' * (4 - len(str(f)))))

array=[5, 23, 3, 43, 123]

print('Вариант 1  :', radix_sort1(array))

array=[5, 23, 3, 43, 123]

print('Вариант 2  :', radix_sort2(array))

Приложения:

mirageKZ: ошибок нет
Вас заинтересует