如何使用函数最后返回的值作为循环中同一函数的输入,Python

fsi0uk1n  于 2023-02-07  发布在  Python
关注(0)|答案(2)|浏览(158)

我有一个问题,使用最后一个返回值从一个函数,作为输入为同一个函数,我不知道是否有可能做到。
例如,我有以下函数:

def sample (x):
    p=1+x
    return p 
sample(h)

并且我想使用最后一个返回值“p”作为循环中h的新数据,则新函数将如下所示:

def sample (x):
    p=1+x
    return p 
sample(h)

for i in range (0,5):  
    h=sample(h)

代码在迭代1和2时有效,但在迭代3、4、5时不更新值。在我的真实的代码中,变量“p”从其他函数或数据库中取值并更改(它也是一个三维数组),因此它随着每次迭代而更改。第一个输入数据“h”也来自前一个函数。
输入和输出如下所示:

h= [[[1.71, 1.8,  1.32, 1.56, 2.81],   [1.,   2.,   1.,   2.,   1.]],
    [[1.44, 1.47, 1.5,  1.02, 2.51],   [1.,   2.,   1.,   2.,   1.]]]

p= [[[1.62, 1.15, 1.1,  1.05, 2.28],   [1.,   2.,   1.,   2.,   1.]],
    [[1.97, 1.85, 1.88, 1.03, 1.87],   [1.,   2.,   1.,   2.,   2.]]]
yqlxgs2m

yqlxgs2m1#

last_value = None
def sample (x):
    p=1+x
    last_value = p
    return p 
sample(last_value)

for i in range (0,5):  
    h=sample(last_value )
jei2mxaa

jei2mxaa2#

从你的描述中理解有点困难,但我相信这可能会给予你想要的结果:

def sample(x):
    p = 1+x
    return p

h = 1  # Set the initial value here
for i in range(0, 5):
    newH = sample(h)
    h = newH
    print(h) # Remove this print statement if you do not wish the result printed

相关问题