素?cái)?shù)是指僅能被1和自身整除的自然數(shù)。編寫一個(gè)Python程序來判斷是否為素?cái)?shù)。
def is_prime(n): """判斷n是否為素?cái)?shù)""" if n<= 1: # 小于等于1的數(shù)不為素?cái)?shù) return False for i in range(2, int(n**0.5)+1): if n % i == 0: # 能被整除的數(shù)不為素?cái)?shù) return False return True
上述代碼中的is_prime函數(shù)會(huì)接受一個(gè)參數(shù)n,它會(huì)返回一個(gè)布爾值。如果n為素?cái)?shù),函數(shù)將返回True;否則返回False。
實(shí)現(xiàn)該函數(shù)的方法是,從2開始遍歷到n平方根,判斷是否能被整除,如果能則肯定不是素?cái)?shù)。否則就是素?cái)?shù)。
可以通過調(diào)用is_prime函數(shù)來判斷一個(gè)數(shù)是否為素?cái)?shù):
n = 17 if is_prime(n): print(n, "是素?cái)?shù)") else: print(n, "不是素?cái)?shù)")
根據(jù)is_prime函數(shù)的實(shí)現(xiàn),程序會(huì)輸出 “17 是素?cái)?shù)”。
在程序中,將該函數(shù)和調(diào)用它的代碼分別放在pre標(biāo)簽中,方便查看和可能的復(fù)制粘貼用途。
def is_prime(n): """判斷n是否為素?cái)?shù)""" if n<= 1: # 小于等于1的數(shù)不為素?cái)?shù) return False for i in range(2, int(n**0.5)+1): if n % i == 0: # 能被整除的數(shù)不為素?cái)?shù) return False return Truen = 17 if is_prime(n): print(n, "是素?cái)?shù)") else: print(n, "不是素?cái)?shù)")