我正在尝试使此代码正常工作,但始终会显示此错误消息。代码如下所示:
def fatorial(n):
proximo = n - 1
n = n * proximo
while proximo > 1:
proximo -= 1
n = n * proximo
return print(n)
def coeficiente_binomial(n,k):
a = fatorial(n)
b = fatorial(k)
div = b * fatorial(n-k) // a
return print(div)
print(coeficiente_binomial(3,4))
错误消息如下所示:
TypeError:不支持*:“NoneType”和“NoneType”的操作数类型
我开始学习python,我不知道如何做这个练习。我感谢你的帮助
您的
factorial
和coeficiente_binomial
返回print
。请尝试以下操作:但如果您正试图这样做,请考虑代码计算^ {< CD4>}。
尽量不要使用
return print(n)
,而只使用return n
和return div
,因为对于这种类型的代码,每次调用函数时,它都返回一个print语句而不是一个数字你有3个打字错误
相反,它们应该是:
在发出这些命令之前,还必须导入数学模块
按原样,函数
fatorial(n)
返回一个None
类型的对象。下面是一个link来解释None
类型的对象进行这些更正后,您将发现另一个问题
这是因为math.factorial不能处理负数,即
3-4 = -1
相关问题 更多 >
编程相关推荐