以下是一个使用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
函数判断每个数字是否是素数,如果是素数,则将其添加到一个列表中。最后,输出这个列表,即为指定范围内的素数。