Я пытаюсь написать программу на Python для вычисления последовательности псевдослучайных чисел, используя метод Фибоначчи с запаздыванием. Я хочу сгенерировать 2000 чисел в диапазоне (0, 2 ** 32) и затем построить x_i
против x_i-1
. У меня есть:
def lag(s):
for i in range(k):
if i is 0:
out = (s[j-1] + s[k-1]) % m
elif 0 < i < k - 1:
s[i] = s[i+1]
else:
s[i] = out
print(s[i])
j, k, m = 7, 10, 2**32
X=[1]
for n in range(2000):
X.append(lag(X[-1]))
y = X[:]
y.append(y[0])
del y[0]
import matplotlib.pyplot as plt
plt.plot(X, y, '.')
При запуске программы выдается ошибка
out = (s[j-1] + s[k-1]) % m
TypeError: 'int' object is not subscriptable
Я не уверен, что означает эта ошибка или как ее исправить. Кто-нибудь может помочь?