编写一个判断一个数是否是素数的函数。

                                                                       编写一个判断一个数是否是素数的函数。
def isPrime(n):
    for i in range(2,n):
        if n%i==0:
            return False
    return True
print(isPrime(7))


 觉得有用的话采纳一下哈

哈喽,代码如下,有用请点采纳哦~

s=int(input("请输入一个正整数:"))
if s<2:
    print("这个数不是素数!")
else:
    for i in range(2,s):
        if s%i==0:
            print("这个数不是素数!")
            break
    else:
        print("这个数是素数!")

#include<stdio.h>
#include<math.h>
int main()
{
int a;
printf("输入你想的数:");
scanf("%d", &a);

int i;
int q = sqrt(a);

for(i=2;i<=q;i++){
if(a%i == 0){
break;
}
}
if(i>q){
printf("%d是素数", a);
}
else{
printf("%d不是素数", a);
}

return 0;

}

def isPrime4(n):
for i in range(3,int(n**0.5),2):#将步长设为2
if n % i == 0:
return False
else:
return True

N = 1000 #

strPrime = "2 "
for j in range(3,N,2):
if isPrime4(j):
strPrime = strPrime + str(j) + " "
print(strPrime)


import math


#判断素数, True 代表是素数
def is_prime(num):
    flag = True
    if num > 1:
        for i in range(2, math.floor(math.sqrt(num)) + 1):
            if (num % i) == 0:
                flag = False
                break
    return flag
print(is_prime(2))
print(is_prime(3))
print(is_prime(4))

"""
素数只能被1和自身整除的数,所有的数都能被1和自身整除,剩下的就是判断是否有其他约数
一个正整数m的约数范围应该在2--m/2之间,超过了这个数的一半,余数不可能为0,所以代码如下
函数中未对1和小于等于0做判断
"""
def is_su(num):
    for i in range(2,num//2+1):
        if num%i==0:
            print("不是素数")
            break
    else:
        print("是素数",num)
        return num
    

#打印一百以内素数
print([is_su(m) for m in range(2,100) if is_su(m)])

[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]

通过素数的定义,我们可以用如下方法编写函数,测试1-10的整数,结果如下:
注意:0和1 既不是素数,也不是合数

def isprime(n):
    if n == 0 or n == 1:
        return False

    for i in range(2, n):
        if n % i == 0:
            return False
    return True

for i in range(10):
    if isprime(i):
        print("%s is 素数" %i)
2 is 素数
3 is 素数
5 is 素数
7 is 素数