#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import sys
import cmath
import math

__author__ = 'petro-ew'
"""
16. Написать функцию, возвращающую сумму кубов элемента списка. Список передается функции в качестве параметра.
"""
"""

filter (<функция>, <список>)
	возвращает список из тех элементов <спиcка>, для которых <функция> принимает значение "истина".
map (<функция>, <список>)
 	применяет <функцию> к каждому элементу <списка> и возвращает список результатов.
reduce (f, <список>,
 [, <начальное значение> ] )

  	 возвращает значение полученное "редуцированием" <списка> функцией f. Это значит, что имеется некая внутренняя переменная p,
  	  которая инициализируется <начальным значением>, затем, для каждого элемента <списка>,
  	   вызывается функция f с двумя параметрами: p и элементом <списка>.
  	    Возвращаемый f результат присваивается p. После перебора всего <списка> reduce возвращает p.
С помощью данной функции можно, к примеру, вычислить сумму элементов списка:

def func (red, el):
    return red+el
sum = reduce (func, [1,2,3,4,5], 0)
# теперь sum == 15

lambda [<список параметров>] : <выражение>

  	"анонимная" функция, не имеющая своего имени и записываемая в месте своего вызова. Принимает параметры, заданные в <списке параметров>, и возвращает значение <выражения>. Используется для filter, reduce, map. Например:

>>>print filter (lambda x: x>3, [1,2,3,4,5])
[4, 5]
>>>print map (lambda x: x*2, [1,2,3,4])
[2, 4, 6, 8]
>>>p=reduce (lambda r, x: r*x, [1,2,3,4], 1)
>>>print p
24

"""
#l1=[1,2,3,4,5,6,7,8,90,0]
l1=[1,2,3]

def sumcub(l1):
    l2 = [ l1[i]**3 for i in range(len(l1))]
    x = sum(l2)
    #print(l2, x)
    return  x
print(sumcub(l1))#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import sys
import cmath
import math

__author__ = 'petro-ew'
"""
16. Написать функцию, возвращающую сумму кубов элемента списка. Список передается функции в качестве параметра.
"""
"""

filter (<функция>, <список>)
	возвращает список из тех элементов <спиcка>, для которых <функция> принимает значение "истина".
map (<функция>, <список>)
 	применяет <функцию> к каждому элементу <списка> и возвращает список результатов.
reduce (f, <список>,
 [, <начальное значение> ] )

  	 возвращает значение полученное "редуцированием" <списка> функцией f. Это значит, что имеется некая внутренняя переменная p,
  	  которая инициализируется <начальным значением>, затем, для каждого элемента <списка>,
  	   вызывается функция f с двумя параметрами: p и элементом <списка>.
  	    Возвращаемый f результат присваивается p. После перебора всего <списка> reduce возвращает p.
С помощью данной функции можно, к примеру, вычислить сумму элементов списка:

def func (red, el):
    return red+el
sum = reduce (func, [1,2,3,4,5], 0)
# теперь sum == 15

lambda [<список параметров>] : <выражение>

  	"анонимная" функция, не имеющая своего имени и записываемая в месте своего вызова. Принимает параметры, заданные в <списке параметров>, и возвращает значение <выражения>. Используется для filter, reduce, map. Например:

>>>print filter (lambda x: x>3, [1,2,3,4,5])
[4, 5]
>>>print map (lambda x: x*2, [1,2,3,4])
[2, 4, 6, 8]
>>>p=reduce (lambda r, x: r*x, [1,2,3,4], 1)
>>>print p
24

"""
#l1=[1,2,3,4,5,6,7,8,90,0]
l1=[1,2,3]

def sumcub(l1):
    l2 = [ l1[i]**3 for i in range(len(l1))]
    x = sum(l2)
    #print(l2, x)
    return  x
print(sumcub(l1))