Python打印某范围内的素数
生活随笔
收集整理的這篇文章主要介紹了
Python打印某范围内的素数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
繼續練手Python基礎部分:用Python實現某范圍的素數打印
分別用while循環和for循環實現,然后用自定義函數方式,代碼如下:
# -*- coding: utf-8 -*- """ Created on Sun Oct 23 20:16:41 2016 打印出素數 如果某個數x能夠整除 2~根號x包含2端,那么這個數就不是素數 ,只能被1和他本身整除 找出2~x之間的素數 @author: """ primeMax = int(raw_input("請輸入素數的范圍:".decode('utf-8'))) #raw_input在Pythonx,y2.7中始終是亂碼,先轉碼,然后將輸入的字符串轉int from math import sqrt x = 2 while x<=primeMax:start = 2end = sqrt(x)while start <= end:if x%start==0:#非素數的滿足條件breakstart+=1#因素自增#此處解釋:如果x能被 2~ 根號x整除 然后跳出循環,那么start一定<=end#否則循環完畢start肯定>end,此時就是素數if start>end:print xx+=1 print("-------------------------") for x in range(2,primeMax+1):flag = True#標記位,默認為素數for y in range(2,int(sqrt(x))+1):if x%y==0:#非素數的滿足條件flag = False#非素數breakif flag:print x結果截圖:
使用自定義函數:
# -*- coding: utf-8 -*- """ Created on Mon Oct 24 21:48:32 2016@author: """ from math import sqrt def isprime(num):"number is prime ,is true,else false"start = 2end = int(sqrt(num))for i in range(start,end+1):if num%i==0:return Falsereturn True x = int(raw_input("請輸入素數范圍:".decode("utf-8"))) for i in range(2,x):if isprime(i):print i結果截圖:
總結
以上是生活随笔為你收集整理的Python打印某范围内的素数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Dev TextEdit 输入提示
- 下一篇: 2.18比赛(T2,T3留坑)