我正在尝试编写一个计算最小公倍数的模块,但我总是得到同样的错误:'返回'在函数之外
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
相同的水平,我不知道该怎么做。
答案 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