我必须编写一个脚本,它使用一个for循环来打印一个数字序列,从x_1
到x_10
,其中x_1 = 2
和后续的数字被计算为x[i] = 2 · x[i−1]
。任何形式的帮助都将不胜感激。
我费了好大劲才想好怎么开始。我不知道是否有必要首先生成一个向量,x,如果是,向量应该是什么样子的。
x = np.array([...])
for i in range(10):
x[i] = ...
预期的输出应打印序列:2 4 16 32 64 128 256 512 1024
。
发布于 2019-01-04 03:01:10
最简单的答案就是实现你的等式:
x = np.zeros(10)
x[0] = 2
for i in range(1, 10):
x[i] = 2 * x[i-1]
然而,正如@DanielMesejo指出的那样,你要求做的事情在数学上等同于x[i] = 2 ** (i + 1)
(基于0的索引),因为你已经在使用numpy了,所以这变得非常容易:
x = 2 ** (1 + np.arange(10))
发布于 2019-01-04 03:04:44
将初始数组想象为堆栈,然后
stack=[2]
for i in range(9):
stack.append(2 * stack[-1])
https://stackoverflow.com/questions/54028235
复制相似问题