我正在尝试使用Python编写一个程序,以使用滞后的Fibonacci方法计算伪随机数序列。我想生成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
我不确定此错误的含义或解决方法。有人可以帮忙吗?