温馨提示×

python怎么用def函数输出素数

小亿
148
2023-08-22 20:56:59
栏目: 编程语言

以下是一个使用def函数输出素数的Python代码示例:

def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
def print_primes(n):
primes = []
for i in range(2, n+1):
if is_prime(i):
primes.append(i)
print(primes)
# 调用函数输出指定范围内的素数
print_primes(100)

运行以上代码,会输出以下结果:

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

定义了两个函数:is_prime用于判断一个数是否是素数,print_primes用于输出指定范围内的素数。

is_prime函数使用了一个优化的算法,即如果一个数不是素数,那么它一定可以被小于等于它平方根的数整除。因此,在判断一个数n是否是素数时,只需要从2遍历到int(n**0.5) + 1,如果存在能够整除n的数,则n不是素数,返回False;如果都不能整除n,则n是素数,返回True。

print_primes函数遍历从2到n的数字,调用is_prime函数判断每个数字是否是素数,如果是素数,则将其添加到一个列表中。最后,输出这个列表,即为指定范围内的素数。

0