Python 如何计算列表中的函数?

Python 如何计算列表中的函数?,python,Python,我正在读《Python科学编程入门》这本书,我一直在练习2.26。据说写了一个函数maxmin(f,a,b,n=1000),它返回数学函数f(x)(在n点处计算)在a和b之间的最大值和最小值 maxmin函数可以计算 和b存储在列表x中,然后在x中的点处计算f并存储 另一个列表中的值为y。Python函数max(y)和min(y) 分别返回列表y中的最大值和最小值 作为测试,据说 from math import cos, pi print maxmin(cos, -pi/2, 2*pi) 应

我正在读《Python科学编程入门》这本书,我一直在练习2.26。据说写了一个函数maxmin(f,a,b,n=1000),它返回数学函数f(x)(在n点处计算)在a和b之间的最大值和最小值

maxmin函数可以计算 和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)

您的代码未正确使用
range()
。该函数不支持浮点参数,最后一个参数不是您所认为的


如果我没记错的话,你下面这本书是以NumPy为基础的。如果是这种情况,您可以简单地将
range()
替换为。

@frostnational您应该将其作为答案,因为它确实是答案。range允许您通过浮动?不,它不允许。我得到了这个错误:TypeError:range()应该是整数结束参数,得到float。