Форум сайта python.su
Define a function prod(L) which returns the product of the elements in a list L.
Мне нужна функция, которая называется, допустим, Prod(L)
L это список
Функция должна возврашать произведение (1х1х1х1…) списка
У меня возвращает лишь первое число в списке, как сделать нормально?
Вот что я нахимичил:
def prod(L):
for i in range(L, L):
return i
Отредактировано asturias (Июль 4, 2012 11:07:52)
Офлайн
l=[1,2,3,4,5] print reduce(lambda x,y: x*y, l)
Офлайн
def prod(L): return reduce(lambda x,y: x * y, L)
from operator import mul def prod(L): return reduce(mul, L)
def prod(L): res = 1 for elem in L: res = res * elem return res
Офлайн
Ой спасибочки! Помогло!
Кстати, сокращением какого слова является res? Я понял, что elem это элемент.
Отредактировано asturias (Июль 5, 2012 09:11:41)
Офлайн
asturiasres -> result -> результат
Кстати, сокращением какого слова является res? Я понял, что elem это элемент.
Офлайн
Спасибо!
Теперь мне надо сделать вот так
def prod(L): res = 1 for elem in L: res = res * elem return res
for elem in L
for elem in range(...)
for elem in range(L[0], L[-1])
Отредактировано asturias (Июль 5, 2012 19:54:54)
Офлайн
def prod(L): res = 1 for i in range(len(L)): res = res * L[i] return res
Офлайн
asturiasА зачем? Сишный for в питоне практически нинужен.
но нельзя использовать
for elem in L
Офлайн
Спасибо. Сработало
Офлайн