1. 程式人生 > 其它 >python-列印質數

python-列印質數

列印質數的核心在於判斷一個數是否為質數,如果是,就列印它。

所以需要先定義一個方法isPrime,它接收一個引數num,來判斷該引數是否為質數

def isPrime(num):

質數有一些特點:

1.都>1

2.除了2都是奇數

3.只能整除1和它本身

所以先判斷它是否>1,如果<=1,肯定不是質數,返回false

繼續判斷是否>2,如果不大於,則一定等於2,是質數,返回true

繼續判斷是否是奇數,如果不是奇數,則一定不是質數,返回false

對於2以上的奇數,需要進行整除運算,此處的遍歷範圍有多種方式,可以從2到n-1,如果想遍歷的少點,可以從2到n/2

用i整除num,如果餘數為0,表示能整除,不是質數,返回false

main方法中,如果要列印50以內的質數,則只需遍歷一次,判斷每個數是否為質數,如果是,則新增到列表中,最終列印列表

程式碼如下:

def isPrime(num):
    '''是否大於1,是否大於2,是否為奇數,是否有約數'''
    if num > 1:
        if num>2:
            if num%2==1:
                for i in range(2, int((num-1)/2)): 
                    if num%i == 0:
                        return
False #有約數 return True #無約數 return False #3以上的偶數 return True #等於2 return False #小於2 if __name__ == '__main__': Plist = [] for i in range(50): if isPrime(i): Plist.append(i) print(Plist)