我正在尝试编写更大的公共分频器func。但是,当k等于6时,代码会停止
def gcdIter(a,b):
k = min(a,b)
while(b%k != 0 and a%k != 0):
k = k -1
return k
print(gcdIter(9,12))
答案 0 :(得分:1)
我相信您的意思是or
,而不是and
。由于在第一次迭代中while
等于k
或a
,所以b
没什么意义。
and
答案 1 :(得分:0)
您拥有and,因此当b%k不为0且a%k不为0时。当k为6时,“ a%6!= 0”为假,结果为true和false,即假。
请尝试使用or。