gpt4 book ai didi

python - 为什么我在使用 Lambda 函数时遇到错误?

转载 作者:行者123 更新时间:2023-11-28 22:01:20 26 4
gpt4 key购买 nike

我正在研究 lambda 函数,我知道我可以用一种简单的方式用它做什么,但是当我尝试更高级的东西时,我遇到了错误,我不明白为什么。

这就是我正在尝试的方法,如果你能告诉我哪里出错了,它就会被应用。

import math

C = lambda n,k: math.factorial(n)/(math.factorial(k))(math.factorial(n-k))

print C(10,5)

我应该注意到,我在尝试在键盘上运行代码时遇到了错误。我无权访问 Idle。

最佳答案

试试这个:

from math import factorial
from __future__ import division

C = lambda n, k : factorial(n) / factorial(k) * factorial(n-k)

print C(10,5)
> 3628800.0

您遗漏了 *,除法也有可能应考虑小数,因此旧的除法运算符 / 将不起作用。这就是为什么我要导入新的 / 运算符,它执行十进制除法。

更新:

好吧,毕竟这似乎是 Codepad 的错 - 它 supports Python 2.5.1,factorial 是在 Python 2.6 中添加的。只需实现您自己的阶乘函数并完成它,或者甚至更好地开始使用真正的 Python 解释器。

def factorial(n):
fac = 1
for i in xrange(1, n+1):
fac *= i
return fac

关于python - 为什么我在使用 Lambda 函数时遇到错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13105577/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com