sum_even_values(1,2,3,4,5,6) # 12
sum_even_values(4,2,1,10) # 16
sum_even_values(1) # 0
# define sum_even_values
def sum_even_values(*args):
#return sum( x for x in args if x%2==0 )
return sum (filter(lambda x: x%2==0, args))
--- возвращаемая сумма (фильтр (аргументы, лямбда-x: x% 2 == 0))
--- TypeError: объект 'function' не повторяется
Почему отображается TypeError, если args является итеративным объектом и фильтр хочет дать только четные числа для функции sum.оба возврата должны иметь одинаковый вывод, но второй не работает.то же самое происходит с кодом ниже.
sum_floats(1.5, 2.4, 'awesome', [], 1) # 3.9
sum_floats(1,2,3,4,5) # 0
def sum_floats(*args):
#return sum(x for x in args if type(x)==float)
return sum ( filter ( args, lambda x : type(x)==float))