返回true不起作用但返回false确实

时间:2017-12-24 08:35:26

标签: python

怎么来

def allEven(n):
    for c in n:
            if c % 2 != 0:
                    return False
    return True

有效但

def allEven(n):
    for c in n:
            if c % 2 == 0:
                    return True
    return False

不? 对于第二个,当我输入allEven([8,0,-1,4,-6,10])时,它表示它是真的。

2 个答案:

答案 0 :(得分:5)

在第二种方法中,return True一旦在c中找到偶数n,这不是您的方法应该做的:返回true IFF 全部 c是偶数。

答案 1 :(得分:1)

Return语句终止循环和结束程序。如果c % 2 == 0为True,则返回True并终止程序不检查所有值。

试试这个

def allEven(n):
    for c in n:
        if c % 2 == 0:
            continue
        else:
            return False
    return True