再次,'返回'外部功能

时间:2017-09-11 05:28:41

标签: python return

我正在尝试编写一个计算最小公倍数的模块,但我总是得到同样的错误:'返回'在函数之外

def lcm(x,y):

amin = min(x,y)

for j in range(1, amin + 1) :

     if(x%j==0 and y%j==0) :

          jmax = j

          z= (x*y)/(jmax)

     return z

我试图缩进return行,但它实际上缩进到与if相同的水平,我不知道该怎么做。

2 个答案:

答案 0 :(得分:1)

函数体也需要缩进:

def lcm(x,y):
    amin = min(x,y)

    for j in range(1, amin + 1) :
         if x%j==0 and y%j==0 :  # also, no need to use parentheses there
              jmax = j
              z= (x*y)/(jmax)

    return z

答案 1 :(得分:0)

快速地说:你已经用def定义了一个函数,但没有放入任何代码。 amin和您的for循环都缩进与def相同。尝试用4个空格缩进它们,使它们成为你功能的一部分。

所以

def your_function():
    amin = something
    for i in x:
        # do something
    return xyz