Форум сайта python.su
857
first-stepНу так я и говорю: то, о чём ты спрашиваешь большую часть времени, вообще никак к лямбда-функциям не относится. То есть эти курсы тебя не научили, что такое вообще функции в языке программирования, как они устроены, куда они записываются и как они работают. То есть ты не знаешь азов программирования на любом языке. И когда я говорю, что лямбда-функция - это такая же функция, как и остальные функции, ты не понимаешь, о чём я вообще говорю, потому что ты не понимаешь, что такое функции вообще. А ведь это тема бейзика, тема паскаля, - то есть это вообще какие-то древние знания, которые сами собой разумеются при любом программировании (я просто предположил, что ты это всё уже прошёл, раз питоном занимаешься и лямбда-функции изучаешь, которые стоят выше по сложности). Поэтому конечно нужно знать уже заранее, что делают круглые скобки и в каких ситуациях. В одной ситуации круглые скобки - это вызов функции (про который ты не понимаешь, что это значит вообще - “вызов функции”), а в другом случае это вычисляемое выражение, результат вычисления которого заменяет скобки и участвует в дальнейших вычислениях, которые там вокруг скобок происходят. Не знаю, заметил ли ты, но мне пришлось ещё тебе объяснять, что такое аргумент функции, как он там передаётся и что это вообще такое. И ты предлагаешь это всё тебе писать ещё тут.
Просто на курсах не было уделено много внимания lambda функциям и они упоминались, но довольно поверхностно их синтаксис вообще не рассматривался, поэтому я столкнулся с незнакомыми штучками.
first-stepПочитать хочешь про лямбда-функцию? Я тебе щас дам почитать. На почитай раз два три четыре. Если поймёшь там что-нибудь, можешь приходить спрашивать. Но я думаю, тебе надо вообще прямо брать книжку и от простейших вещей начинать изучать, что там как устроено в языке программирования.
Вот где прочитать, что лямбда функция умеет, а что не умеет? )
Отредактировано py.user.next (Апрель 6, 2019 13:01:50)
Офлайн
27
Если совсем по-колхозному, то лямбда функция - это функция-однострочник, которая может быть задана одной строкой. Посмотри на такую конструкцию:
def xx(a, b): return a*b
Офлайн
0
Rafik
Если совсем по-колхозному, то лямбда функция - это функция-однострочник, которая может быть задана одной строкой. Посмотри на такую конструкцию:
print(1, *list(map(lambda x: (functools.reduce(lambda a, b: a * b, range(1, x + 1))), range(1, int(input()) + 1))))
l = [1] list(map(lambda x: l.append(l[-1] * x), range(1, int(input()) + 1))) print(*l)
Отредактировано first-step (Апрель 6, 2019 21:21:42)
Офлайн
857
Это максимум
>>> import functools >>> >>> print(*map(lambda n: functools.reduce(lambda x, y: x * y, ... range(1, n + 1), ... 1), ... range(int(input()) + 1))) 5 1 1 2 6 24 120 >>>
fact(N) ->
fact(N, 1).
fact(0,Acc) ->
Acc;
fact(N,Acc) when N > 0 ->
fact(N-1,N*Acc).
Отредактировано py.user.next (Апрель 7, 2019 00:16:57)
Офлайн