2016-03-07 65 views
0

我正在Python中使用for循環運行50多個迭代的模型,並且想要在25次迭代之後繪製它,並且在50次迭代之後再次繪製它。通過for循環中途繪製東西 - python

下面是我迄今爲止使用的代碼的摘錄(如果這會有幫助,我可以發佈整個事情)。

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

您需要用if語句替換while語句。

while只要滿足條件i == 24就會重複縮進代碼。一旦你的循環達到i == 24,程序將重複保存你的數字,直到你終止程序,因爲iwhile循環內沒有改變。

if將執行一次縮進代碼,如果條件滿足 - 這是你想要的。

+0

啊,這應該是顯而易見的...感謝您的幫助,我在那裏工作! – Alpacaheaven