如何在python中多次重复一个函数[重复]。

问题描述 投票:0回答:2

我想多次重复一个函数,比如:

func(x) \  func(func(x))  \  func(func(func(x)))

我试了很多方法,如:

for x in range(1,11):
  func*x(value)

但还是不行,希望你能理解我的问题,如果我可以说得更具体一点,请回复。

python function repeat
2个回答
1
投票
#loop:
def func(a):
    return a + 1

x = 0
for a in range(3):
    x = func(x)
print(x)


# alternatively, recursion:
def func(a, depth):
    if depth>0:
        return func(a+1, depth-1)
    return a

1
投票

使用一个循环。

def f(x):
    return x+2

x = 1
for _ in range(20):
    x = f(x)
    print(x)

从函数中返回值,然后用新的值调用函数。

输出:如果你需要所有的值,请使用列表。

3
5
7
[...]
39
41

如果你需要所有的值,请使用列表。

def f(x):
    return x+2

x = [1]                  # initial value
for _ in range(20):
    x.append(f(x[-1]))   # feed it the last value from the list and append result

print(x)

输出:

[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41]
© www.soinside.com 2019 - 2024. All rights reserved.