2
下面給出的代碼是我正在處理的代碼的一部分。這裏x
是一個numpy數組,f是代碼下面的例子中給出的數組的數組。我必須更新數組x
的所有值,因此我使用運行循環來執行此操作。我正在使用迭代方案,並使用最後一個已知值x
更新值。然而,循環第一次運行正常,但下一次運行第一次循環時得到的值爲x
。但我打算爲所有循環取舊值x
。任何人都可以幫我嗎?在for循環中使用變量的存儲值
import numpy as np
def mulsucc(x0,f,n):
old=x0
for k in range(1,100):
for i in range(0,n):
print "old" + str(old)
x0[i]=np.sum(old*(f[i][0:len(f[i])-1])) + 2
print "new" + str(x0)
return x0
x0=np.array([0,0])
f=np.array([[4,5,-20],[2,7,-10]])
print mulsucc(x0,f,2)
輸出出來是:
old[0 0]
new[2 0]
old[2 0]
new[2 6]
[2 6]
但我想第二舊的值也應該是[0 0]
。
由於您在'i'循環之後執行了返回操作,所以'k'循環沒有被「使用」。這是故意的嗎? – toine
它是一個更大的代碼的一部分..所以其實我忘了刪除k循環..我面臨的問題是目前只關心我循環.. –