给定一个多项式函数作为字符串,将一阶导数作为字符串返回

我正在尝试创建一个简单的导数计算器函数,它将多项式函数作为字符串,并将一阶导数作为另一个字符串返回。我是初学者,完全不知道如何开始。

def derivative(str):
derivative("3*x^2 + 4*x - 22") # Should return 6*x^1 + 4*x^0 - 0

如果有人可以帮助我开始这个,我将不胜感激!


湖上湖
浏览 104回答 1
1回答

炎炎设计

Python 的符号库sympy可以处理将字符串转换为符号表达式并获取导数。请注意,Python 使用**for power, while^仅用于布尔异或。 convert_xor负责将 转换^为电源。下面是一些示例代码,可帮助您开始和试验。from sympy import sympify, Derivativefrom sympy.parsing.sympy_parser import parse_expr, standard_transformations, convert_xordef derivative(str_expr):    transformations = (standard_transformations + (convert_xor,))    expr = parse_expr(str_expr, transformations=transformations)    return str(Derivative(expr).doit())print(derivative("3*x^2 + 4*x - 22"))print(derivative("sin(x/cos(x))"))print(derivative("exp(asin(x^2)/sqrt(x))"))print(derivative("LambertW(x)"))print(derivative("erf(x)"))输出:6*x + 4(x*sin(x)/cos(x)**2 + 1/cos(x))*cos(x/cos(x))(2*sqrt(x)/sqrt(1 - x**4) - asin(x**2)/(2*x**(3/2)))*exp(asin(x**2)/sqrt(x))LambertW(x)/(x*(LambertW(x) + 1))2*exp(-x**2)/sqrt(pi)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python