其中一个教程问题让我们专注于创建一个返回简单表达式的函数。表达式如下:
EQ = cos *(pi / 2)* x ^ 2 + sin(pi / 4)* x + x ^ 3 其中x是一个浮点数组。
我写了以下代码来回答这个问题:
def getStats(x):
# Complete the function.
y = float(numpy.cos((numpy.pi/2)*x**2) + numpy.sin((numpy.pi/4)*x) + x**3)
return y
但是我收到一条错误,指出pow或** list或int。
的操作数类型不受支持我试图输入这个,但它没有奏效。 除了类型铸造,我试图进一步打破这一点,但没有成功。关于我接下来可以尝试的任何想法?
谢谢。
答案 0 :(得分:0)
您应该评估输入列表的每个值的表达式。你可以使用list comprehension来做到这一点。
def getStats(X):
# Complete the function.
y = [float(numpy.cos((numpy.pi/2)*x**2) + numpy.sin((numpy.pi/4)*x) + x**3) for x in X]
return y
首选编辑部分中的方法(见下文)。
编辑:将输入列表转换为numpy数组并进行计算。
def getStats(x):
# Complete the function.
x = numpy.array(x)
y = numpy.cos((numpy.pi/2) * numpy.power(x, 2)) + numpy.sin((numpy.pi/4)*x) + numpy.power(x, 3)
return y # if you want to return a list, use list(y)