如何使用python查找素数

如何使用python查找素数,python,python-3.x,Python,Python 3.x,我已经开发了一个使用python查找素数的代码。但它一直说这些数字是素数,即使它们不是素数。我是python新手,所以我的语法知识真的不太好 当我输入数字15时,它会说它是一个素数。但它不应该是质数 a = 0 #num will be the number we are checking x = int(num) num = sqrt(float(num)) num = int(num) primeCheck = True for a in range(3, num, 2): if x

我已经开发了一个使用python查找素数的代码。但它一直说这些数字是素数,即使它们不是素数。我是python新手,所以我的语法知识真的不太好

当我输入数字15时,它会说它是一个素数。但它不应该是质数

a = 0
#num will be the number we are checking
x = int(num)
num = sqrt(float(num))
num = int(num)
primeCheck = True
for a in range(3, num, 2):
    if x == 1 or x == 2:
        primeCheck = False
        #not prime
    if x % a == 0:
        primeCheck = False
        #not prime
if primeCheck == true:
    #prime

您想要的是
x%a
,而不是
a%x
。对于mod操作,较大的数字几乎总是在左边。

和。关于这一点,有很多答案,为什么不在再次询问之前检查一下?