Как я могу использовать выходные данные предыдущей итерации в качестве входных данных для новой итерации? - PullRequest
1 голос
/ 22 октября 2019

Я просто хочу запустить простой код, который использует выходные данные предыдущей итерации в качестве входных данных для самой новой итерации. Я вроде как хочу это в соответствии с этим.

a_1 = 2
a_2 = 3 * (a_(n-1))
a_2 = 6 

Код, который я включил ниже, является именно тем, что я хотел бы, и не отражает то, как я думаю, должен выглядеть настоящий код.

import numpy as np

Nloop = 10
cList = np.zeros(Nloop)

a_1  = 2  #Setting my inital value
cList[0] = a_1

for y in range(Nloop):
    a = cList[y-1]  # I know this isn't right, but for this I just
                    # want to get the output from the last iteration
    a_n = a * 3
    cList[y] = a_n

Я хочу, чтобы результат выглядел примерно так:

print(cList)
[2, 6, 18, 54, 162, 486, 1458, 4374, 13122, 36366] 

Будем весьма благодарны за любые инструкции / помощь / подсказки. Дайте мне знать, если вам нужна дополнительная информация.

1 Ответ

0 голосов
/ 22 октября 2019

Ваш код правильный. Просто запустите y с 1 вместо 0, сделав следующее изменение:

for y in range(1, Nloop):

В качестве примечания, вся ваша программа может быть переписана как:

>>> print([2 * (3 ** i) for i in range(10)])
[2, 6, 18, 54, 162, 486, 1458, 4374, 13122, 39366]
...