鸿蒙传说
您将忽略递归调用的返回值:gcdIter (a,b%a) 递归调用与对其他函数的调用没有什么不同;如果那是您试图产生的结果,您仍然需要对该调用的结果做些事情。您需要将返回值传递给returnreturn gcdIter (a,b%a) 请注意,分配时可以分配给多个目标:def gcdIter(a, b): a, b = min(a, b), max(a, b) if b % a == 0: return a return gcdIter(a, b % a) 您真的不需要关心这里的较大和较小值。一个更紧凑的版本是:def gcd_iter(a, b): return gcd_iter(b, a % b) if b else abs(a)