Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 给定名称的组合数量_Python_Recursion_Combinations - Fatal编程技术网

Python 给定名称的组合数量

Python 给定名称的组合数量,python,recursion,combinations,Python,Recursion,Combinations,我要用给定的N个数来计算一个数(我们称之为C)的组合量。 我将使用递归公式。 但是有一个错误: “TypeError:不支持+=:'int'和'NoneType'的操作数类型” 我的代码: def量(N,C,最新标称值=0): 如果C=最新标称值: 可能性+=金额(N,C-标称,标称) 返回可能性 我将感谢任何帮助!:) 函数返回None 因此,当您返回打印(“C应为正值”)时,您将不返回任何内容。因此,在posabilities+=amount(N,C-nominal,nominal)行中,

我要用给定的N个数来计算一个数(我们称之为C)的组合量。 我将使用递归公式。 但是有一个错误:
“TypeError:不支持+=:'int'和'NoneType'的操作数类型”
我的代码:

def量(N,C,最新标称值=0):
如果C<0:
返回打印(“C应为正”)
如果C==0:
返回打印(“1”)
如果不是N:
返回打印(“没有名称”)
可能性=0
对于N中的标称值:
如果标称值>=最新标称值:
可能性+=金额(N,C-标称,标称)
返回可能性
我将感谢任何帮助!:)

函数返回
None

因此,当您
返回打印(“C应为正值”)
时,您将不返回任何内容。因此,在
posabilities+=amount(N,C-nominal,nominal)
行中,您的代码引发异常函数返回
None


因此,当您
返回打印(“C应为正值”)
时,您将不返回任何内容。因此,在
可能性+=金额(N,C-标称,标称)
行中,您的代码引发异常

谢谢!我怎样才能避免这个问题?谢谢!我怎样才能避免这个问题?
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