【发布时间】:2019-07-18 01:01:40
【问题描述】:
我使用python创建了这个函数
import numpy as np
p1=1/2
def qud(x,p):
x_sqr = x**2
x_qud = x**3
pn=x_sqr*p
return x_sqr ,x_qud,pn
我需要通过在上一次迭代中给出 pn 的值来多次迭代这个函数。
我在没有这样的 for 循环的情况下尝试了这个,
第一次迭代:sqr1, qud1 ,pnew = qud(2,p1)
第二次迭代:sqr2, qud2 ,pnew1 = qud(2,pnew)
我使用了从第一次迭代中获得的值pnew。
第三次迭代:sqr3, qud3 ,pnew2 = qud(2,pnew1) 以此类推。
现在我想修改我的代码,以便在给出迭代次数时使用 for 循环存储值。但是我的代码不起作用。
我的代码如下,
i=4
sqr = np.zeros(i)
qud = np.zeros(i)
p1 = np.zeros(i)
sqr[0],qud[0],p1[0] = qud(2,p1)
for j in range (1,3) :
sqr[j],qud[j],p1[j] = qud(2,p1[j-1])
任何人都可以提出任何建议以使其有效吗?
谢谢
【问题讨论】:
-
在什么情况下不起作用?它抛出异常了吗?如果是这样,请在此处包括例外情况。只是不正确吗?
-
@Craig 那是一个错字。当我也使用索引 j 时,它没有工作
标签: python function for-loop return-value