我要使用给定的N个数来计算数字组合的数量(让我们称之为C)。
我要使用递归公式。
但是有一个错误:
" TypeError:+ =:' int'不支持的操作数类型和' NoneType' "
我的代码:
def amount(N, C, latest_nominal = 0):
if C < 0:
return print("C should be positive")
if C == 0:
return print("1")
if not N:
return print("There are no nominals")
possibilities = 0
for nominal in N:
if nominal >= latest_nominal:
possibilities += amount(N, C-nominal, nominal)
return possibilities
我将不胜感激任何帮助! :)
答案 0 :(得分:4)
print()
函数返回None
。
因此,当您执行return print("C should be positive")
时,您将返回无。因此,在possibilities += amount(N, C-nominal, nominal)
行,您的代码会引发异常