Python3 一行代码系列——判断一个数是否是质数
代码:
print((lambda x: x >= 2 and all(map(lambda y: x % y != 0, range(2, int(x ** 0.5) + 1))))(int(input())))
解析:
print( # Step 7: 输出
(lambda x: # Step 2: 使用匿名函数声明变量
x >= 2 and # Step 3: 如果 x < 2 直接返回 False(布尔运算的短路规则)
all( # Step 6: 如果所有都不能整除,返回 True
map(
lambda y: x % y != 0, # Step 5: 如果能整除,返回 False
range(2, int(x ** 0.5) + 1) # Step 4: 遍历 2 ~ int(sqrt(x))
)
)
)
(int(input())) # Step 1: 调用匿名函数
)