在返回int的for循环"for i in range(n):"中出现错误,对python不太熟悉,



在返回int的for循环for i in range(n):上出错,对python不太熟悉,所以我不确定它的语法是否很容易修复"SyntaxError:函数外部的"return";

def function(x):
return 1/(x+4)
# function to perform Midpoint rule
def midpoint_integrate(x,y,n):
step = (y - x) / n
integral = 0
for i in range(n):
integral += step * function(x + (i - 1) * step)
return integral

lowerLimit = int(input("Enter the lower limit: ")) # input for lower limit
upperLimit = int(input("Enter the upper limit: ")) # input for upper limit
n = int(input("Enter the value for n: ")) # input for n
print()
if n%2==0 : # checking for n to be a even number
print("Integral is equal to: ", midpoint_integrate(lowerLimit,upperLimit,n)) # printing the value of the integral
else :
print("The value of n cannot be odd") # the program cannot perform Midpoint Integration if n is odd
'''

试试这个:

def function(x):
return 1 / (x + 4)
# function to perform Midpoint rule
def midpoint_integrate(x, y, n):
step = (y - x) / n
integral = 0
for i in range(n):
integral += step * function(x + (i - 1) * step)
return integral

lowerLimit = int(input("Enter the lower limit: "))   # input for lower limit
upperLimit = int(input("Enter the upper limit: "))   # input for upper limit
n = int(input("Enter the value for n: "))   # input for n
print()
if n % 2 == 0 :   # checking for n to be a even number
print("Integral is equal to: ", midpoint_integrate(lowerLimit, upperLimit, n))   # printing the value of the integral
else :
print("The value of n cannot be odd")   # the program cannot perform Midpoint Integration if n is odd

在python中,一切都与缩进有关。return语句应该始终位于函数内部,但在您的问题中,它没有缩进到函数内部。还要记住添加空格,这样可以使代码看起来更干净。

要么你可以使用这个:

def foo(x):
# ... some stuff here ...
return x

或者,如果你的函数是一行:

def foo(x):  return 5*(x)

但您将始终需要检查缩进。

最新更新