
正文
定义素数函数python,定义函数是否为素数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
判断一个数是否为素数python
1、定义判断素数的函数isPrime
import math
def isPrime(num):
sqt = int(math.sqrt(num))
for i in range(2, sqt + 1):
if num % i == 0:
return False
return True
2、调用函数并打印结果
a = int(input("请输入一个数字:"))
if isPrime(a):
print(a)
else:
print("不是素数")
3、验证结果
(1)输入的是素数
请输入一个数字:3
3
(2)输入的不是素数
请输入一个数字:12
不是素数
相关问答
Q1: python求素数
python求素数:
def is_prime(m):
"""判断m是否素数"""
for i in range(2,int(m**(1/2))+1):
if m % i == 0:
return False
else:
return True
注意事项
定义一个函数并使用input进行范围的输入,同时将将求得的素数保存在num数组中去,便于求得在该范围内素数的总数以及对应的具体值,同时,在本程序中并没有对非法输入的值进行过多的判断,而主要就是为了实现功能。
注意在该函数当中,else是与内循环中的for搭配使用的,如果内循环是由break而终止的,那么else语句是不会被执行的。
Q2: python定理证明。定义函数,判断是否为素数,编程证明1000以内的正偶数都能分解为两个素数之和?
代码如下,缩进请参考截图:
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
prime = [ i for i in range(1,1001) if is_prime(i) ]
for i in range(2,1001):
if i % 2 == 0:
for x in prime:
if i - x in prime:
print('{} + {} = {}'.format(i-x,x,i))
break
输出节选:
Q3: 如果想用python定义一个函数,就是v后面的第n个素数是多少,要怎么写啊
def nth_prime_after(v,n):
if v=1:v=1
while n0:
v+=1
for i in range(2,v):
if v%i==0:break
else:
n-=1
return v
已测试







