Программа может обрабатывать любые данные — даже содержимое кошелька.
Представьте, что у вас есть список купюр и монет. Нужно выбрать из него только мелочь — всё, что меньше 100 рублей.
Напишите функцию take_small(money), которая принимает список номиналов и возвращает новый список — только с теми значениями, которые меньше 100.
Порядок элементов должен сохраниться.
Примечание
Исходный список должен остаться без изменений.
В решении не должно быть вызовов требуемых функций.
Пример
Ввод
money = [1, 5, 200, 0.5, 0.05, 10, 25, 1000, 5000, 1, 2, 100, 0.1, 5, 2000, 0.01]
result = take_small(money)Вывод
result = [1, 5, 0.5, 0.05, 10, 25, 1, 2, 0.1, 5, 0.01]Ввод
data = [0.01, 0.01, 500, 2000, 5000, 0.05, 1, 200, 0.1, 2000, 1000, 10, 25, 0.05, 10, 2000, 500, 5000, 0.01, 200, 2, 1000, 0.5, 5000, 10, 0.5, 5, 1]
result = take_small(data)Вывод
result = [0.01, 0.01, 0.05, 1, 0.1, 10, 25, 0.05, 10, 0.01, 2, 0.5, 10, 0.5, 5, 1]Решение
С точки зрения сложности задание не представляет проблем, если вы хорошо освоили разделы про циклы, сравнения и списки.
Два решения — стандартное и через списочное выражение.
Посмотреть код
Решение
Python
def take_small(denominations):
small_denominations = []
for denomination in denominations:
if denomination < 100:
small_denominations.append(denomination)
return small_denominationsРешение
Python
def take_small(denominations):
return [denomination for denomination in denominations if denomination < 100]