Python последовательное последовательное значение np - PullRequest
0 голосов
/ 16 января 2020

Мне нужна ваша помощь для расчета этой формулы. Правило применения для генерации B

a=[100,5,6,10]
B[0]=1-a[0]
B[1]=B[0]*(1-a[1])
B[n]=B[n-1]*(1-a[n])

    a1=np.array([1-val for val in a])
    a2=np.append([1],a)
    b=[a1[i]*a2[i] for i in range(len(a1))]

Можете ли вы помочь мне?

1 Ответ

0 голосов
/ 16 января 2020
def gen_seq(alist):
    if alist == []:
        return []
    tmp = []
    for i,x in enumerate(alist):
        if i == 0:
            tmp.append(1-x)
        else:
            tmp.append(tmp[i-1]*(1-x))
    return tmp

In [14]: gen_seq([100,5,6,10])                                                                                                                                                                            
Out[14]: [-99, 396, -1980, 17820]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...