查找2到n之间的素数数

时间:2016-04-13 13:48:21

标签: python primes

我试图找到2和n之间的素数的数量,其中n由用户提供。我似乎无法使其发挥作用。这是我的代码:

>>> def numOfPrime(n):
    count = 0
    for i in range(2,n):
        p = True
        for j in range(2,i):
            if i % j ==0:
                p = False
    if  p == True:
        count += 1

    return count

>>> numOfPrime(100)
0

1 个答案:

答案 0 :(得分:1)

if块的缩进不正确。它应该在循环中。

def numOfPrime(n):
    count = 0
    for i in range(2,n):
        p = True
        for j in range(2,i):
            if i % j ==0:
                p = False
        if  p == True:
            count += 1

    return count

现在numOfPrime(100)返回25,正确占据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。

相关问题