我正在写一个解决线性空气方程组的程序。我需要运行一些迭代才能看到我的目标价值有所提高。我首先在文件底部写了打印功能来编写程序。所以我基本上自己做了迭代。我现在想将迭代次数写为该函数的估算参数。
我尝试使用while和for循环,但这似乎对我不起作用。所以现在我尝试了这种格式,如下所示。我没有将整个程序放在这里,而只是将其工作的基本结构放在这里。
def function(A,x,c,iter):
if iter == 0:
return x
else:
A = 1/2 * A
c = 1/2 * c
x1 = 1/2 * x
iter = iter - 1
function(A,x1,c,iter)
当iter = 0时,它给我x的立即值。但是,当iter> 0时,我将返回“ None”……任何人都可以解释为什么这样做并帮助我修复程序吗?谢谢!
答案 0 :(得分:2)
def function(A,x,c,iter):
if iter == 0:
return x
else:
A = 1/2 * A
c = 1/2 * c
x1 = 1/2 * x
iter = iter - 1
return function(A,x1,c,iter)
您只是没有返回else的值,而Python函数在没有return语句时返回None。
答案 1 :(得分:0)
在最后一行添加一个返回值,以便在执行以下功能后返回该值:return function(A,x1,c,iter)
答案 2 :(得分:0)
作为for
循环,它看起来像:
def function(A,x,c,iterN):
for _ in range(iterN)
A = 1/2 * A
c = 1/2 * c
x = 1/2 * x
return x
请注意,由于变量是内置的python函数,因此请勿使用iter
进行变量命名。