gpt4 book ai didi

python - 包含函数的序列的递归公式

转载 作者:太空宇宙 更新时间:2023-11-03 14:57:11 26 4
gpt4 key购买 nike

我要编写一个递归序列并打印它的 n 个第一个值。有编码的功能:

def f(x):
return x**2 - 4

def h(x):
return (x-(((3-x)*f(x))/(f(3)-f(x))))

现在我想编写递归序列的代码并打印它的 n 个第一个值:

xn+1 = h(xn)

对于 x1 = 4/3

我的代码当然不工作(我收到了 n 次相同的值,但我想得到类似的东西):

def g(n):
for i in range(1, n+1):
x = 4/3
x = h(x)
print(x)

最佳答案

您只需在每次迭代时用 4/3 覆盖 x:

def g(n):    for i in range(1, n+1):        x = 4/3        x = h(x)        print(x)

Simply move the statement above the loop:

def g(n):
x = 4/3
for i in range(1, n+1):
x = h(x)
print(x)

也许您还想在进入循环之前print(x)

不过,您可以在某些方面改进您的代码:首先我不会打印结果:打印有副作用。在程序中,您通常会尝试区分计算函数和具有副作用的函数。

接下来,在相同的上下文中,我将使用 generator不返回列表或其他内容。您可以简单地为任意数量的索引定义序列:

def g():
x = 4/3
while True:
x = h(x)
yield x

现在您可以向 g 询问前 10 个元素,或执行过滤器,...元素进一步延迟生成。

关于python - 包含函数的序列的递归公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41615446/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com