Сижу уже час и не могу понять как написать код на Python

1 ) напишите функцию slice_less,

на вход принимает:

  1. первый аргумент “my_list” - список из целых чисел
  2. второй аргумент “lesser” - целое число

выводит:

отсортированный от большего к меньшему список my_list, где все значения больше чем lesser

2 ) напишите функцию biggest_value,

на вход принимает:

  1. первый аргумент “my_list” - список из целых чисел

выводит:

целое число максимально возможное что может получиться пример :

на вход [22, 1, 62, 33]

на выход 6233221

values = input('Введите числа через запятую: ')
ints_as_strings = values.split(',')
ints = map(int, ints_as_strings)
lst = list(ints)
tup = tuple(lst)
print('Список:', lst)

вот пробовал так но это походу не правильно


Ответы (1 шт):

Автор решения: entithat
def slice_less(my_list, lesser): 
    '''
    Фильтруем список по числам, которые больше lesser
    Сортируем от 1 до n и потом с помощью [::-1] делаем обратный порядок
    '''
    return sorted(filter(lambda x: x > lesser, my_list))[::-1]


def biggest_value(my_list):
    '''
    Сортируем массив от большего к меньшему.
    Соединяем элементы списка и получаем самое большое "число"
    '''
    return ''.join(map(str, sorted(my_list)[::-1]))

P.S. Если все же автору надо была функция, которая находит масимальное число, составляя числа из списка, то:

def biggest_value(my_list):
    return ''.join(sorted(my_list, key=lambda x: str(x)[0])[::-1])

biggest_value([22, 9, 62, 33])        # 9623322
biggest_value([22, 901, 920, 62, 33]) # 920901623322
→ Ссылка