有人可以帮我解释一下代码吗?

时间:2014-02-12 19:24:32

标签: if-statement for-loop module boolean

def bhl(x):     如果x == 1:         返回False     elif x == 2:         返回True     elif x%2 == 0:         返回False     对于范围内的b(3,int(x ** 0.5 +1)):         如果x%b == 0:             返回False     其他:         返回True

不知道我是否太累了,但我真的无法弄清楚代码的这一部分是做什么的。有人可以帮我解释一下:

elif x % 2 == 0:
    return False
for b in range(3,int(x**0.5 +1)):
    if x % b == 0:
        return False
else:
    return True

1 个答案:

答案 0 :(得分:0)

检查x是否为素数

x % 2 == 0检查x是否为偶数,或者换句话说,当它除以2时没有余数

for b in range(3,int(x**0.5 +1)): if x % b == 0: return False

如果有一个数字除以x而没有余数,则检查从3到x / 2 + 1。 以前的案例检查了1和2,没有必要检查大于x / 2的数字是否除x而没有余数,因为没有余数。