返回信息流import numpy as np
vector=np.zeros((30,1))
i=0
while (i<10):
vector[0:i] = [1]
i+=1
while (i>9 and i<20):
vector[0:i] = [2]
i+=1
while (i>19 and i<31):
vector[0:i] = [3]
i+=1
print vector
新手求问:问题是这样的,我是想把1,2,3分别写入创建的30*1列向量的中去。可是为什么第三个while会覆盖前面的while,输出的vector是全为3呢?貌似for 是用不了。
求大家帮忙看看这是要怎么解决呢?在网上查了,可是没有找到解决方法,非常感谢[ema11]
这是一条镜像帖。来源:北邮人论坛 / python / #13937同步于 2016/4/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
【已解决】[问题]python编程有多个while条件怎么处理?求教
xy333
2016/4/30镜像同步10 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
楼主是想表达下面这个意思吧:
for i in range(10):
vector[i] = 1
for i in range(10, 20):
vector[i] = 2
for i in range(20, 30):
vector[i] = 3
import numpy as np
array1=np.zeros((30, 1))
for i in range(30):
array1[i]=(i+10)/10
另外,
np.concatenate([np.ones(10), np.ones(10)*2, np.ones(10)*3])
怎么样?直觉告诉我会比在Python里面循环更快。
感谢大神,完美地解决了我的问题,谢谢你啦
【 在 nuanyangyang 的大作中提到: 】
: 楼主是想表达下面这个意思吧:
: [code=python]
: for i in range(10):
: ...................
谢谢你的提醒,是的,就是0的问题,我改了之后可以实现了。感谢
【 在 smartguoguo 的大作中提到: 】
: 因为vector[0:i] 是从0开始赋值?