一、單項選擇題(本大題共 10 小題)
1、在 Python 中,以下哪種錯誤屬于語法錯誤(Syntax Error)?
① print(10 / 0)
② print("Hello world
③ int("abc")
④ lst = [1, 2, 3]; print(lst[5])
2、以下哪個異常表示“嘗試打開一個不存在的文件”?
① FileNotFoundError
② IOError
③ FileError
④ OSError
3、在 try-except 語句中,如果 try 塊中的代碼執行成功,沒有發生異常,以下哪個子句會被執行?
① except
② else
③ finally
④ 以上都不會
4、關于 finally 子句的說法,以下哪項是正確的?
① finally 子句只有在發生異常時才會執行
② finally 子句只有在沒有異常時才會執行
③ finally 子句無論是否發生異常都會執行
④ finally 子句必須和 else 子句一起使用
5、以下代碼的輸出結果是:
print("執行結束")① 轉換成功 執行結束
② 轉換成功
③ 轉換失敗 執行結束
④ 轉換失敗
6、在異常處理中,except Exception as e: 語句中的 e 表示什么?
① 錯誤類型
② 錯誤信息
③ 錯誤對象
④ 錯誤代碼
7、以下哪個語句用于主動引發異常?
① throw
② raise
③ assert
④ trigger
8、以下代碼的輸出結果是:
print("其他錯誤")① "除數不能為零"
② "其他錯誤"
③ 程序崩潰
④ 無輸出
9、如果需要同時捕獲多種異常類型,應該使用以下哪種語法?
① except TypeError, ValueError:
② except (TypeError, ValueError):
③ except TypeError or ValueError:
④ except TypeError & ValueError:
10、關于自定義異常類,以下說法正確的是:
① 自定義異常類必須繼承自 BaseException
② 自定義異常類必須繼承自 Exception
③ 自定義異常類不能有構造函數
④ 自定義異常類不能傳遞錯誤信息
二、判斷題(本大題共 5 小題)
1、Python 中所有的異常都是 Exception 類的子類。( )
2、在 try-except 語句中,可以沒有 except 子句,但必須有 finally 子句。( )
3、使用 except:(不指定異常類型)可以捕獲所有異常,包括鍵盤中斷和系統退出。( )
4、finally 子句中的代碼即使在 try 塊中使用了 return 語句也會執行。( )
5、raise 語句只能拋出 Python 內置的異常類型,不能拋出用戶自定義的異常。( )
三、程序填充題(本大題共 3 小題)
1、以下程序用于安全地讀取用戶輸入的兩個整數并計算它們的商。請在下劃線處補全代碼。
print(f"其他錯誤:{e}")2、以下程序用于安全地打開并讀取文件內容。請在下劃線處補全代碼。
print("文件已關閉")3、以下程序定義了一個自定義異常類,用于驗證年齡的合法性。請在下劃線處補全代碼。
print("錯誤:請輸入有效的數字")四、編程題(本大題共 3 小題)
1、除法計算器
編寫一個程序,要求用戶輸入兩個數字進行除法運算。
要求:
(1)使用 try-except-else-finally 完整結構
(2)捕獲除零錯誤(ZeroDivisionError)和數值轉換錯誤(ValueError)
(3)如果沒有錯誤,在 else 塊中顯示計算結果
(4)在 finally 塊中顯示"計算結束"
(5)主要變量:dividend(被除數)、divisor(除數)、result(結果)
2、素數判斷器
編寫一個程序,要求用戶輸入一個正整數,判斷其是否為素數。
要求:
(1)使用異常處理驗證輸入是否為有效的正整數
(2)如果輸入小于等于 1,使用 raise 拋出 ValueError 異常
(3)使用經典的素數判斷算法(試除法)
(4)在 finally 塊中顯示“素數判斷結束”
(5)主要變量:num(輸入的數)、is_prime(是否為素數標志)
(6)算法說明:從 2 到 √n 檢查是否有因子
3、成績統計器(綜合異常處理)
編寫一個程序,要求用戶輸入多個成績(0 ~ 100 之間的整數),統計平均分、最高分和最低分。
要求:
(1)使用異常處理驗證每個輸入是否為有效的 0 ~ 100 之間的整數
(2)如果輸入非法,要求重新輸入
(3)輸入“end”表示結束輸入
(4)如果沒有任何有效成績,拋出 ValueError 異常
(5)使用 while 循環處理多次輸入
(6)主要變量:scores(成績列表)、score(單個成績輸入)、average(平均分)
“點贊有美意,贊賞是鼓勵”
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.