最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python判斷素數的3種方法及for-else語句的用法介紹

 更新時間:2024年05月03日 11:57:09   作者:Zaly.  
素數又叫質數,指的是>1的整數中,只能被1和這個數本身整除的數,這篇文章主要給大家介紹了關于Python判斷素數的3種方法及for-else語句的用法介紹的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

題目

輸入一個數,如果是素數就輸出"Yes",否則輸出"No"

方法一:暴力枚舉法

def is_prime(x):
    if x==1:
        return False;
    for i in range(2,x):
        if x%i==0:
            return False
    return True
n=int(input())
if is_prime(n):
    print("Yes")
else:
    print("No")

自定義函數is_prime(),首先排除1,然后再對該數之前的數進行枚舉,當遇到能被當前的數整除時返回False,若沒有數能將其整除意味著這個數是素數,返回True。然后對返回的結果進行判斷從而輸出"Yes"或"No"

當然,我們可以省去最后if-else的判斷,直接在函數is_prime()里來輸出"Yes"或"No"

def is_prime(x):
    if x==1:
        print("No")
        return
    for i in range(2,x):
        if x%i==0:
            print("No")
            break
    else:
        print("Yes")
n=int(input())
is_prime(n)

for-else語句

在上面的代碼中,我采用了for-else語句,這是一個比較特殊的語句。當for循環(huán)正常結束時,else也會執(zhí)行,而當for循環(huán)未正常結束,例如使用break提前退出時,則不會執(zhí)行。使用這個語句往往可以減少代碼量,避免使用flag。

方法二:內置函數

import sympy
n = int(input())
if sympy.isprime(n):
    print("Yes")
else:
    print("No")

使用python自帶的sympy庫中的isprime()函數僅需一行就能判斷素數

方法三:優(yōu)化了時間復雜度

import math
def is_prime(n):
    if n <= 1:
        return False
    if n <= 3:
        return True
    if n % 2 == 0 or n % 3 == 0:
        return False
    for i in range(5, int(math.sqrt(n)) + 1, 6):
        if n % i == 0 or n % (i + 2) == 0:
            return False
    return True

優(yōu)化后的代碼利用了以下觀察:

1.所有的素數都是6的倍數加減1(除了2和3)。

2.如果n可以整除2或3,它肯定不是素數。

3.如果n不是2或3的倍數,并且不能整除6的倍數加減1的數,那么它也不是素數。所以可以只在6的倍數加減1的數中進行枚舉,跳過其他數字。這樣可以減少循環(huán)的次數,提高效率。 

附:打印素數

方法一:

1、打印指定范圍內的素數

def sushu3(c):
    import math
    m = 2
    List = []
    while m < c:
        j = 2
        # 只要從2判斷到根號m,若m不能被其中的任何一個數整除,則m為素數
        while j <= math.sqrt(m):
            if m % j == 0:
                break
            j = j + 1
        if (j > math.sqrt(m)):
            List.append(m)
        m = m + 1
    print(f"{c}以內的素數:{List}")
    
 # 調用方法sushu3方法,打印100以內的素數
if __name__ == '__main__':
    sushu3(100)

方法二:

2、打印指定區(qū)間內的素數

def sushu4():
    Min = int(input("請輸入起始值:"))
    Max = int(input("請輸入終止值:"))
    List = []
    # 循環(huán)遍歷指定區(qū)間內的數
    for i in range(Min, Max + 1):
        if i > 1:
           # 除了1和本身以外的數,如果能被除則break退出
            for j in range(2, i):
                if (i % j) == 0:
                    break
            # 若不能被1和本身的數除則追加到List列表
            else:
                List.append(i)
    print(f"{Min}~{Max}區(qū)間內的素數有:{List}")

總結

到此這篇關于Python判斷素數的3種方法及for-else語句的用法介紹的文章就介紹到這了,更多相關Python判斷素數及for-else語句內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 詳解程序意外中斷自動重啟shell腳本(以Python為例)

    詳解程序意外中斷自動重啟shell腳本(以Python為例)

    這篇文章主要介紹了詳解程序意外中斷自動重啟shell腳本(以Python為例),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • 一文探究Python如何正確處理含小數點的字符串

    一文探究Python如何正確處理含小數點的字符串

    在 Python 編程過程中,很多初學者都會遇到一個常見的問題,Python 中 int () 函數為何無法轉換含小數點的字符串,下面小編就帶大家剖析一下原因與解決方法吧
    2025-10-10
  • python實現一個猜拳游戲

    python實現一個猜拳游戲

    這篇文章主要為大家詳細介紹了python實現一個猜拳游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • python通過定義一個類實例作為ftp回調方法

    python通過定義一個類實例作為ftp回調方法

    這篇文章主要介紹了python通過定義一個類實例作為ftp回調方法,涉及Python中類與回調方法的使用技巧,非常具有實用價值,需要的朋友可以參考下
    2015-05-05
  • 排查?“Python?版本與?NumPy?不匹配”適配版本對照表與安裝方法詳解

    排查?“Python?版本與?NumPy?不匹配”適配版本對照表與安裝方法詳解

    NumPy庫有許多版本,每個版本都有不同的功能和改進,這篇文章主要介紹了排查?“Python?版本與?NumPy?不匹配”適配版本對照表與安裝方法的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-12-12
  • 基于Python和wxPython打造一個智能日期文件夾管理工具

    基于Python和wxPython打造一個智能日期文件夾管理工具

    在日常辦公中,我們經常需要按日期組織文件,比如每天創(chuàng)建一個以日期命名的文件夾(如20251214),將前一天的Excel文件復制過來并更新日期,今天,我將分享如何用Python的wxPython模塊打造一個智能的日期文件夾管理工具,需要的朋友可以參考下
    2025-12-12
  • Python虛擬環(huán)境virtualenv創(chuàng)建及使用過程圖解

    Python虛擬環(huán)境virtualenv創(chuàng)建及使用過程圖解

    這篇文章主要介紹了Python虛擬環(huán)境virtualenv創(chuàng)建及使用過程圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-12-12
  • Python實現文件查詢關鍵字功能的示例詳解

    Python實現文件查詢關鍵字功能的示例詳解

    這篇文章主要為大家詳細介紹了Python實現文件查詢關鍵字功能,文中的示例詳解詳細,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學習一下
    2026-02-02
  • 詳解pandas安裝若干異常及解決方案總結

    詳解pandas安裝若干異常及解決方案總結

    這篇文章主要介紹了詳解pandas安裝若干異常及解決方案總結,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • python版學生管理系統(tǒng)

    python版學生管理系統(tǒng)

    這篇文章主要為大家詳細介紹了python版學生管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01

最新評論

东至县| 洞口县| 平安县| 甘孜县| 乳源| 获嘉县| 嘉鱼县| 福贡县| 武隆县| 犍为县| 淮南市| 卢氏县| 云阳县| 闻喜县| 昭苏县| 都江堰市| 平陆县| 马公市| 凌源市| 西盟| 武强县| 互助| 西盟| 舒兰市| 盘锦市| 措勤县| 瓦房店市| 剑河县| 中山市| 收藏| 商南县| 晋城| 砀山县| 鲁甸县| 广州市| 仁寿县| 大悟县| 松溪县| 德安县| 蓝山县| 闻喜县|