Условие:
Нужно написать функцию, которая может принимать любое неотрицательное целое число в качестве аргумента и возвращать его с цифрами в порядке убывания.
По сути, переставить цифры, чтобы получить максимально возможное число.
Пример:
descending_order(123789) #returns 987321
descending_order(764209) #returns 976420
Решение:
def descending_order(num):
number = str(num)
number = list(number)
number.sort(reverse=True)
return int("".join(number))
Как всегда есть более лаконичные решения:
def descending_order(num):
return int("".join(sorted(str(num), reverse=True)))
По сути всё аналогично первому решению за исключением того, что вместо sort
используется sorted
.
Sorted
в данном случае возвращает отсортированный список и нам не нужно отдельно преобразовывать строку к списку.
Порядок выполнения такой:
.join()
.