本文實例講述了Python編程判斷一個正整數是否為素數的方法。分享給大家供大家參考,具體如下:
import stringimport math#判斷是否素數的函數def isPrime(n): if(n<2): return False; elif(n==2): return True; elif(n>2): for d in range(2,int(math.ceil(math.sqrt(n))+1)): if(n%d==0): return False; return True;num=input();strNum=list(str(num)) #將輸入值轉換為List字符串flag=True; #設置一個標志位#以下循環用于對用戶輸入數值進行循環位移后得到的所有結果for i in range(0,len(strNum)): lastP=strNum.pop();#獲取并刪除最后一位 strNum.insert(0,lastP);#將上一步刪除的數字添加到最前面 stempNumStr=''; #用于保存某一步位移結果的臨時變量 for each in strNum: stempNumStr+=each;#將位移后的字符串合并 stempNum=string.atoi(stempNumStr);#轉換為整形#或者 stempNum= ( num//(10**i) ) + (num%(10**i))*(10**(lens-i)) if(isPrime(stempNum)==False):#再判斷位移后的這個數是否是素數,如果不是 flag=False;#則直接判定當前用戶輸入的數字不是循環素數 print('%s not Loop prime number'%num); break;#并中止后續計算,退出循環if(flag==True):#如果Flag的值依然為True,說明這個數一定是循環素數 print('%s is Loop prime number'%num);
運行結果如下圖:
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
新聞熱點
疑難解答