请教大家,下面函数采用递归通过欧几里得公式算最大公约数,为何不正确
def gcd(x,y):if y == 0:
return x
else:
x = min(x,y)
y = (max(x,y) % min(x,y))
return gcd(x,y)
print(gcd(21,9)) 把两个赋值语句写成一行
x, y= min(x,y), (max(x,y) % min(x,y))
记住一定要同时赋值,不然就要使用中间临时变量。 太感谢了,一叶障目,自己琢磨了半天也没搞懂
页:
[1]