我是python的新手,索引对我来说仍然很难。我试图使用迭代操作绘制几个值,但它似乎不起作用,并给我上面的错误。请帮我。感谢。
我的代码:
import numpy as np
import matplotlib.pyplot as mp
e = np.exp
z = np.arange(1000)
for i in z:
while True:
H_2 = 0.58*e(-(z[i]/81)**2)
i += 1
mp.scatter(H_2 , z, c = 'r')
mp.show()
答案 0 :(得分:1)
此行显示错误i += 1
如果您打算使用while
循环,请不要忘记添加break
声明,否则您将陷入无限循环。没有任何其他细节,我不明白为什么在这种情况下有必要。
除此之外,我将H_2
定义为空列表,并将计算中的任何值附加到其中。根据{{3}},H_2
需要是类似数组的值。
所以看起来应该是这样的:
import numpy as np
import matplotlib.pyplot as mp
e = np.exp
z = np.arange(1000)
H_2 = []
for i in z:
H_2.append(0.58*e(-(i/81)**2))
mp.scatter(H_2 , z, c = 'r')
mp.show()
希望图表按预期显示。
答案 1 :(得分:1)
因此,作为索引的一般入门,您需要记住索引是基于零的。因此,如果你有一个包含5个元素的数组,索引0将获得第一个元素等,索引4将获得第5个和最后一个元素。据说索引5因此试图访问第6个元素,因此无效。
现在到Python,你应该知道列表中的x''语句将遍历lost中的所有元素,将实际值而不是索引放入变量x。