實機練習題

  1. 前置作業
    1. 在家目錄下建立 zzz 目錄。
    2. 切換工作目錄到 zzz。
  2. 在 zzz 目錄下寫一 python 程式 try-except-else1.py:
    1. 使用 sys 模組,讓執行 try-except-else1.py 時,可以使用參數指定字典的 key。
    2. 建立字典 {'a':1,'b':2,'c':3,'d':4}
    3. 使用 try-except-else 對讀 key 異常做處理。
    4. 當 key 不存在時,印出「key 不存在」,key 為指定的參數。
    5. key 存在則從字典中刪除這個 key-value,並印出刪除後的字典。
  3. 在 zzz 目錄下寫一 python 程式 try-except-else2.py:
    1. 使用 sys 模組,讓執行 try-except-else2.py 時,可以指定讀取的檔案,假設檔名 file。
    2. 使用 try-except-else 對讀檔異常做處理。
    3. 試著讀取 file
    4. 無法讀取檔案 file 時,開啟檔案 file,寫入「新建立的檔案 file」,file 後面要換行。
    5. else 印出「檔案 file 中共有 nu 個字」,nu 為檔案中的字數。
    6. 關閉檔案。
  4. 在 zzz 目錄下寫一 python 程式 try-except-finally1.py:
    1. 使用 sys 模組,讓執行 try-except-finally1.py 時,可以指定讀取年齡,假設是 age。
    2. 使用以下自定義異常類別 NotPositiveError,類別中定義 __init__ member,提供錯誤內容 "Not a positive number"。
      class NotPositiveError(UserWarning):
      	def __init__(self,err='Not a positive number'):
      		Exception.__init__(self,err)
      
    3. 如果輸入的數字是負數或0,則使用 raise 觸發此異常,印出「你輸入的年齡是負數或 0 xxxx」,其中 xxxx 是錯誤變數內容。
    4. 非數字用標準異常 ValueError 排除異常,印出「你輸入的年齡不是數字 xxxx」,其中 xxxx 是錯誤變數內容。
    5. 沒有輸入參數用標準異常 IndexError 排除異常,印出「你沒輸入年齡 xxxx」,其中 xxxx 是錯誤變數內容。
    6. else 印出「你的年齡是 age」,age 是輸入的年齡。
    7. finally 印出「程式結束」。