表达式应该为True,但它为False

时间:2019-03-14 14:22:33

标签: python-3.x loops

我正在尝试编写更大的公共分频器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))

2 个答案:

答案 0 :(得分:1)

我相信您的意思是or,而不是and。由于在第一次迭代中while等于ka,所以b没什么意义。

and

答案 1 :(得分:0)

您拥有and,因此当b%k不为0且a%k不为0时。当k为6时,“ a%6!= 0”为假,结果为true和false,即假。

请尝试使用or。

相关问题