Python NameError:未定义f
我似乎无法理解Python为什么会抛出错误。我只是个初学者。我正在使用的代码Python NameError:未定义f,python,nameerror,Python,Nameerror,我似乎无法理解Python为什么会抛出错误。我只是个初学者。我正在使用的代码 def integral(startingx,endingx,numberofrectangles): width = (float(endingx) - float(startingx)) / numberofrectangles runningSum = 0 for i in range(numberofrectangles): height = f(s
def integral(startingx,endingx,numberofrectangles):
width = (float(endingx) - float(startingx)) / numberofrectangles
runningSum = 0
for i in range(numberofrectangles):
height = f(startingx + i*width)
area = height * width
runningSum += area
return runningSum
print integral (0,1,100)
回溯是
Traceback (most recent call last):
File "readprint_db.py", line 5, in <module>
print integral (0,1,100)
File "readprint_db.py", line 9, in integral
height = f(startingx + i*width)
NameError: global name 'f' is not defined
回溯(最近一次呼叫最后一次):
文件“readprint_db.py”,第5行,在
打印积分(0,1100)
文件“readprint_db.py”,第9行,整数形式
高度=f(起点X+i*宽度)
NameError:未定义全局名称“f”
不知道如何解决这个问题
对不起,我忘了把剩下的都包括进去了。这部分在我发布的第一部分之前。请容忍我
def衍生物(f):
def df(x,h=0.1e-5):
派生=(f(x+h)-f(x))/h
第二轮(德里夫,3)
返回df
def衍生物(x):
h=1./1000。
上升=f(x+h)-f(x)
运行=小时
坡度=上升/运行
返回坡度
编辑:格式化我相信您的意思是将函数作为参数传递给integrate,从而生成高阶函数:
def integral(f, startingx, endingx, numberofrectangles): # Riemann sum approximation
那么
f
应该是什么呢?您正在将f()
用作函数,但没有在任何地方定义它。您从未在任何地方定义过f函数,只是调用了它