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: 调用匿名函数
)