首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用for-loop将数字序列从x_1打印到x_10

如何使用for-loop将数字序列从x_1打印到x_10
EN

Stack Overflow用户
提问于 2019-01-04 02:56:47
回答 2查看 383关注 0票数 -3

我必须编写一个脚本,它使用一个for循环来打印一个数字序列,从x_1x_10,其中x_1 = 2和后续的数字被计算为x[i] = 2 · x[i−1]。任何形式的帮助都将不胜感激。

我费了好大劲才想好怎么开始。我不知道是否有必要首先生成一个向量,x,如果是,向量应该是什么样子的。

代码语言:javascript
复制
x = np.array([...])
for i in range(10):
    x[i] = ...

预期的输出应打印序列:2 4 16 32 64 128 256 512 1024

EN

回答 2

Stack Overflow用户

发布于 2019-01-04 03:01:10

最简单的答案就是实现你的等式:

代码语言:javascript
复制
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了,所以这变得非常容易:

代码语言:javascript
复制
x = 2 ** (1 + np.arange(10))
票数 0
EN

Stack Overflow用户

发布于 2019-01-04 03:04:44

将初始数组想象为堆栈,然后

代码语言:javascript
复制
stack=[2]
for i in range(9):
    stack.append(2 * stack[-1])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54028235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档