如何计算列表中的函数?

时间:2014-06-22 20:09:10

标签: python

我正在阅读“使用Python进行科学编程入门”一书,我坚持练习2.26。据说写一个函数maxmin(f,a,b,n = 1000),它返回a和b之间的间隔中数学函数f(x)的最大值和最小值(在n个点评估)。

maxmin函数可以计算a之间的一组n坐标 和b存储在列表x中,然后在x和存储点计算f 另一个列表中的值y。 Python函数max(y)和min(y) 分别返回列表y中的最大值和最小值。

作为测试,据说

from math import cos, pi
print maxmin(cos, -pi/2, 2*pi)

应写出(1.0,-1.0)

这是我试过的,但它没有返回任何东西!

from math import cos, pi

def maxmin(f, a, b, n=1000):
    x = [f(i) for i in range(a, b, n)]
    #print x
    maximum = max(x)
    minimum = min(x)
    return maximum, minimum

print maxmin(cos, -pi/2, 2*pi)

1 个答案:

答案 0 :(得分:2)

您的代码错误地使用了range()。该函数不支持浮点参数,最后一个参数不是您认为的。

如果我没记错的话,你所关注的书是以NumPy为基础的。如果是这种情况,您只需将range()替换为numpy.linspace()