判断素数python

# 将判断一个整数 n 是否为素数的代码定义为一个函数isPrime(n)
# 传入参数为整数 n,n 是素数时返回值为True,否则返回False
# 时间复杂度为o(n)
def is_prime(n):  # 判断参数 n 是否为素数的函数
    """判断素数,接受一个正整数n为参数,判断n是否为素数,返回布尔值"""
    if n <= 1:   # 小于2的数字都不是素数
        return False
    for i in range(2,n):   # 根据素数定义判定是否是素数,是素数返回1
        if n % i == 0:     # 从 2到n-1中如果存在一个数是i,使n 可以整除i,则n不是素数
            return False
    else:                  # 若for循环未遇到return正常结束,则n是素数
        return True


# 以下代码调用定义的isPrime()判定num是否为素数,输出小于m的所有素数
m = int(input())               # 输入一个正整数
for num in range(m):           # 获得小于m的整数数列
    if is_prime(num):          # 如果isPrime(num)返回值为True,num 是素数
        print(num, end=' ')   # 输出num

# 直接用推导式实现,一行代码
print(*[x for x in range(2, int(input())) if not [y for y in range(2, x) if x % y == 0]])

你可能感兴趣的:(python)