Сижу уже час и не могу понять как написать код на Python
1 ) напишите функцию slice_less,
на вход принимает:
- первый аргумент “my_list” - список из целых чисел
- второй аргумент “lesser” - целое число
выводит:
отсортированный от большего к меньшему список my_list, где все значения больше чем lesser
2 ) напишите функцию biggest_value,
на вход принимает:
- первый аргумент “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