Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.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_Tuples - Fatal编程技术网

Python 以元组形式返回二进制

Python 以元组形式返回二进制,python,recursion,tuples,Python,Recursion,Tuples,我想把函数binomal_aux的结果保存到一个元组中,但我不知道如何保存,这是我现在的代码 def binomal (n): i=0 for i in range(n): binomal_aux(n,i) #want this to be in a tuple so, binomal (2) = (1,2,1) return def binomal_aux (n,k): if (k==0): return 1 e

我想把函数binomal_aux的结果保存到一个元组中,但我不知道如何保存,这是我现在的代码

def binomal (n):    
    i=0
    for i in range(n):
        binomal_aux(n,i) #want this to be in a tuple so, binomal (2) = (1,2,1)
    return

def binomal_aux (n,k):
    if (k==0):
        return 1
    elif (n==k):
        return 1
    else:
        return (binomal_aux(n-1,k) + binomal_aux(n-1,k-1))

binomal
函数中,只需创建要返回的元组

def binomal(n):
  return tuple(binomal_aux(n, i) for i in range(n+1))
还要注意,正确的拼写是
binom
i
al

另一种方式:

def binomal(n): 
    from itertools import combinations
    return tuple(len(list(combinations(range(n), r=t))) for t in range(n + 1))

注意:它的拼写是二项式的,而不是二项式的。在for循环之前不需要声明/定义
i
,也不需要在函数末尾返回
。好的,再来一个。您的if/elif可以简单地替换为:
if k==0或k==n:
,或者甚至
if k in(0,n):
更改了返回元组(binomal_aux(n,i)for i in range(n+1)),并且非常有效!
def binomal(n): 
    from itertools import combinations
    return tuple(len(list(combinations(range(n), r=t))) for t in range(n + 1))