我试图找到两个数字的 lcm。但是当我运行程序时,我收到错误:
<块引用>UnboundLocalError:赋值前引用了局部变量“lcm”
为什么我会收到这个错误?我不明白我的代码有什么问题。
这是我的代码:
def compute_lcm( num1, num2):
if num1 > num2:
greater = num1
else:
greater = num2
for i in range(1, greater + 1):
if ( i % num1 ) == 0 and ( i % num2) == 0:
lcm = i
print(lcm)
compute_lcm( 12, 14)
答案 0 :(得分:0)
您得到的错误是因为代码永远不满足 i % num1 == 0 and i % num2 == 0
,因此永远不会为 lcm 设置值。另请注意,代码的第二部分必须在 if/else
之外。
def compute_lcm(num1, num2):
if num1 > num2:
greater = num1
else:
greater = num2
lcm = None
for i in range(1, greater + 1):
if i % num1 == 0 and i % num2 == 0:
lcm = i
print(lcm)
compute_lcm(12, 14) # >>> None