本文主要介紹Python如何判斷質數和異常處理,其中包括多個方面的內容。
一、判斷質數
1、定義:質數是指除了1和它本身兩個因數外,沒有其他的因數。
2、判斷方法:
(1)從2到n-1逐個判斷是否能夠整除n,若能夠整除,則n不是質數,反之,n是質數。這種方法的時間複雜度為O(n)。
def is_prime(n): if n == 1: # 1不是質數 return False for i in range(2, n): if n % i == 0: return False return True
(2)從2到sqrt(n)逐個判斷是否能夠整除n,若能夠整除,則n不是質數,反之,n是質數。這種方法的時間複雜度為O(sqrt(n))。
import math def is_prime(n): if n == 1: return False for i in range(2, int(math.sqrt(n))+1): if n % i == 0: return False return True
從上面的代碼可以看出,使用math庫中的sqrt函數可以快速求出n的平方根。
二、異常處理
1、定義:異常是程序執行過程中出現的錯誤,它離不開try、except語句。
2、異常處理方法:
(1)try、except語句:
try: # 代碼塊 except Exception1: # 處理方法1 except Exception2: # 處理方法2 else: # 沒有異常時執行的代碼 finally: # 不論是否有異常都會執行的代碼塊
try語句塊中執行代碼,若發生異常,則跳轉到對應的except塊中執行處理方法;若沒有發生異常,則執行else塊中的語句。最後,無論是否發生異常,都會執行finally塊中的語句。
(2)拋出異常:
raise Exception("異常信息")
使用raise語句可以向上拋出一個異常,處理方法與try、except語句相同。
三、完整代碼示例
import math def is_prime(n): if n == 1: return False for i in range(2, int(math.sqrt(n))+1): if n % i == 0: return False return True try: n = int(input("請輸入一個自然數:")) if is_prime(n): print("{}是質數。".format(n)) else: print("{}不是質數。".format(n)) except Exception: print("輸入錯誤,請輸入一個自然數。")
四、總結
本文對Python如何判斷質數和異常處理進行了詳細的介紹。在判斷質數時,使用從2到sqrt(n)的方法可以大大優化時間效率;在異常處理中,使用try、except語句和拋出異常可以避免程序出現錯誤時直接退出。
原創文章,作者:HLDKC,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/375450.html