Python函数中未定义NameError

Python函数中未定义NameError,python,function,undefined,Python,Function,Undefined,我想用积分(黎曼)计算曲线下的面积。我写了一些代码,但运行时遇到了一些问题:name错误:未定义名称“y” 代码如下: from math import * def f(x): return y**2 def integral (A, B, Rectangulos): ancho = (float(B) - float(A)) / Rectangulos suma = 0 for i in range(Rectangulos): altura =

我想用积分(黎曼)计算曲线下的面积。我写了一些代码,但运行时遇到了一些问题:
name错误:未定义名称“y”

代码如下:

from math import *

def f(x):
   return y**2

def integral (A, B, Rectangulos):
    ancho = (float(B) - float(A)) / Rectangulos
    suma = 0
    for i in range(Rectangulos):
       altura = f(A + i * ancho)
       area = altura * ancho
       suma = suma + area
    return suma

A = int(input("Asigna el valor de A:  "))
B = int(input("Asigna el valor de B:  "))

Rectangulos = int(input("Indique la cantidad de rectangulos que desea utilizar \n (Recuerde que mientras mayor sea la densidad, el valor final sera mas cercano al valor deseado):  "))

print ("El valor aproximado de esta integral es ", integral(A,B,Rectangulos))

如何解决此错误?

什么是
y
?它是未定义的,这就是为什么会出现错误。你想写:

def f(x):
   return x**2

在函数
f
的返回语句中将
y
更改为
x
。y**2是教授要我确定的函数。我知道你打算做y=A+i*ancho,然后计算f(y)。它会起作用的,把你的代码改成我展示的。@LuisTrujillo很可能是,但它不在
f
的范围内。他要求的是f(x,y)=y^2(平方)@LuisTrujillo数学和代码之间有很大的区别
y
不在
f
的范围内,甚至在任何地方都没有定义!而且,
f(x,y)=y^2
不是x的函数(也就是说,
x
是完全冗余的)。