我在python中运行一个弹簧模型,使用for循环超过50次迭代,并希望在25次迭代后绘制它,并在50次迭代后再次绘制。
这里是我目前使用的代码的摘录(如果有帮助,我可以发布整个代码)。
ts = np.array([0])
xs = f(ts)
for i in range(50):
tn = ts[i]+0.1
xn = f(tn)
ts = np.append(ts,tn)
xs = np.append(xs,xn)
while i == 24:
plt.plot(ts,xs)
plt.savefig('Weight plotted after 2.5 seconds.png')
while i == 49:
plt.plot(ts,xs)
plt.savefig('Spring plotted after 5 seconds.png')
我没有收到任何错误,但它没有返回任何内容。我对python和编码一般都很陌生,所以任何人都可能拥有的任何输入都会非常感激!
答案 0 :(得分:1)
您需要将while
语句替换为if
语句。
while
, i == 24
将重复缩进代码。一旦你的循环达到i == 24
,程序将重复保存你的数字,直到你终止程序,因为i
循环内while
没有变化。
if
将执行一次缩进代码 - 这就是你想要的。