Возвращение бинома в виде кортежа - PullRequest
0 голосов
/ 01 февраля 2010

Я хочу сохранить результаты моей функции 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))

Ответы [ 3 ]

2 голосов
/ 01 февраля 2010

В вашей функции binomal просто создайте кортеж, который вы хотите вернуть.

def binomal(n):
  return tuple(binomal_aux(n, i) for i in range(n+1))

Обратите внимание, что правильное написание: binom i al.

0 голосов
/ 01 февраля 2010

Альтернативный способ:

def binomal(n): 
    from itertools import combinations
    return tuple(len(list(combinations(range(n), r=t))) for t in range(n + 1))
0 голосов
/ 01 февраля 2010
def binomal (n):    
    return tuple(binomal_aux(n,i) for i in range(n+1))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...