python递归、递推、lambda函数

img


有没有懂python的能帮帮忙,给一个思路也可以,感激不尽。

递归实现代码如下:

def f_recursive(x, n):
    if n == 1:
        return 1
    elif n % 2 == 0:
        return -1 / pow(n, x) + f_recursive(x, n - 1)
    else:
        return 1 / pow(n, x) + f_recursive(x, n - 1)

def f(x, n):
    return f_recursive(x, n)
循环实现代码如下:

def f_loop(x, n):
    res = 0
    for i in range(1, n + 1):
        if i % 2 == 0:
            res -= 1 / pow(i, x)
        else:
            res += 1 / pow(i, x)
    return res

def f(x, n):
    return f_loop(x, n)
lambda实现代码如下:

def f(x, n):
    return (
        lambda n: sum(
            [(-1 if i % 2 == 0 else 1) / pow(i, x) for i in range(1, n + 1)]
        )
    )(n)