【发布时间】:2019-09-17 03:48:16
【问题描述】:
在用 Python 编写 e^x 的泰勒级数时,我需要一些帮助。但是,我可以使用的功能非常有限:
- 地图
- 减少
- 范围
- 阶乘
- 自己编写的'helper'函数
任何指针或帮助将不胜感激。我也在尝试更多地了解 Python。
这是我目前所拥有的代码:
def taylorApproxE(lastIter):
'''approximates the value of e using Taylor Series.'''
L = range(lastIter + 1)
def sum(x,y):
return x + y
def iter(x,y):
return (x**y)/factorial(y)
return reduce(sum, map(iter, L))
每次我尝试在终端中使用此功能时,我都会得到
TypeError: iter() missing 1 required positional argument: 'y'
对于那些不知道什么是泰勒级数的人:https://en.wikipedia.org/wiki/Taylor_series
但基本上我是按如下所示计算总和: Taylor Series for e^x
当我使用该功能时会发生什么
taylorApproxE(4) = 2.708333333333333
编辑:对于这个问题的初稿不够清楚,我深表歉意。我对这个网站非常陌生,还不太习惯发帖规则。我希望我在格式或措辞上的过错没有冒犯。
【问题讨论】:
-
好主意,开始吧,你会学到东西的!
-
@rdacier,Stack 是一个问答网站。您的帖子没有实际问题,看起来您是在要求人们为您编写代码。那不行...如果您需要帮助,这里有一些提示: 1 - 尝试编写一些代码;如果这不起作用,请发布关于不起作用的特定问题; 2 - 不是每个人都知道“泰勒系列”是什么,包括许多本来愿意提供帮助的人。添加一个指向 Wikipedia 文章的链接,并快速总结它是什么。祝你好运
-
您已将“iter”定义为两个参数的函数,但在表达式“map(iter, L)”中您只提供了一个输入。
标签: python python-3.x syntax