在for循环中间绘制一些东西 - python

时间:2016-03-07 12:13:11

标签: python

我在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和编码一般都很陌生,所以任何人都可能拥有的任何输入都会非常感激!

1 个答案:

答案 0 :(得分:1)

您需要将while语句替换为if语句。

只要满足条件while

i == 24将重复缩进代码。一旦你的循环达到i == 24,程序将重复保存你的数字,直到你终止程序,因为i循环内while没有变化。

如果条件满足,

if将执行一次缩进代码 - 这就是你想要的。