天池python訓練營D3
學習目標:
回顧並鞏固python知識
D3 異常處理
學習內容:
Python 標準異常總結
BaseException:所有異常的 基類
Exception:常規異常的 基類
StandardError:所有的內建標準異常的基類
ArithmeticError:所有數值計算異常的基類
FloatingPointError:浮點計算異常
OverflowError:數值運算超出最大限制
ZeroDivisionError:除數為零
AssertionError:斷言語句(assert)失敗
AttributeError:嘗試訪問未知的物件屬性
EOFError:沒有內建輸入,到達EOF標記
EnvironmentError:作業系統異常的基類
IOError:輸入/輸出操作失敗
OSError:作業系統產生的異常(例如開啟一個不存在的檔案)
WindowsError:系統呼叫失敗
ImportError:匯入模組失敗的時候
KeyboardInterrupt:使用者中斷執行
LookupError:無效資料查詢的基類
IndexError:索引超出序列的範圍
KeyError:字典中查詢一個不存在的關鍵字
MemoryError:記憶體溢位(可通過刪除物件釋放記憶體)
NameError:嘗試訪問一個不存在的變數
UnboundLocalError:訪問未初始化的本地變數
ReferenceError:弱引用試圖訪問已經垃圾回收了的物件
RuntimeError:一般的執行時異常
NotImplementedError:尚未實現的方法
SyntaxError:語法錯誤導致的異常
IndentationError:縮排錯誤導致的異常
TabError:Tab和空格混用
SystemError:一般的直譯器系統異常
TypeError:不同型別間的無效操作
ValueError:傳入無效的引數
UnicodeError:Unicode相關的異常
UnicodeDecodeError:Unicode解碼時的異常
UnicodeEncodeError:Unicode編碼錯誤導致的異常
UnicodeTranslateError:Unicode轉換錯誤導致的異常
Python標準警告總結
Warning:警告的基類
DeprecationWarning:關於被棄用的特徵的警告
FutureWarning:關於構造將來語義會有改變的警告
UserWarning:使用者程式碼生成的警告
PendingDeprecationWarning:關於特性將會被廢棄的警告
RuntimeWarning:可疑的執行時行為(runtime behavior)的警告
SyntaxWarning:可疑語法的警告
ImportWarning:用於在匯入模組過程中觸發的警告
UnicodeWarning:與Unicode相關的警告
BytesWarning:與位元組或位元組碼相關的警告
ResourceWarning:與資源使用相關的警告
異常丟擲
try - except - (else) - (finally)
try:
檢測範圍
except Exception[as reason]:
出現異常後的處理程式碼
else:
如果沒有異常執行這塊程式碼
finally:
無論如何都會被執行的程式碼
raise語句
直接丟擲異常
try:
raise Error()
練習題
1. 猜數字遊戲
題目描述:
電腦產生一個零到100之間的隨機數字,然後讓使用者來猜,如果使用者猜的數字比這個數字大,提示太大,否則提示太
小,當使用者正好猜中電腦會提示,“恭喜你猜到了這個數是…”。在使用者每次猜測之前程式會輸出使用者是第幾次猜
測,如果使用者輸入的根本不是一個數字,程式會告訴使用者"輸入無效".
(嘗試使用try catch異常處理結構對輸入情況進行處理)
獲取隨機數採用random模組。
import random
def guess():
num=random.randint(0,100)
print(num)
n=1
guess=-1
while(guess!=num):
print("第",n,"次猜,請猜一個零至一百的整型數字:")
try:
guess=int(input())
if guess-num==0:
print('恭喜你猜到了這個數是',num)
break
elif(guess>num):
print("猜大了")
else:
print("猜小了")
except ValueError:
print("輸入無效")
n=n+1
guess()
相關文章
- java小白訓練營Java
- k線訓練營排名
- 拉鉤高薪訓練營筆記彙總高薪筆記
- java大資料開發訓練營--NginxJava大資料Nginx
- java大資料開發訓練營--ImpalaJava大資料
- ECS 7天實踐訓練營-day1
- Linkedin訓練營,如何在專業社交網路上營銷自己
- 京東NLP企業級專案實戰訓練營
- 極客大學java進階訓練營學習分享Java
- 基金訓練營學習筆記3-股票基金筆記
- 2024牛客暑期多校訓練營2
- 2024牛客暑期多校訓練營4
- 2024牛客暑期多校訓練營5
- 2024牛客暑期多校訓練營6
- 2024牛客暑期多校訓練營1
- 2024牛客暑期多校訓練營8
- 2024牛客暑期多校訓練營9
- 西部戰略 | GBase資料庫訓練營華西專場培訓資料庫
- 企業級AI問答知識庫訓練營,火熱開營中!AI
- 2024牛客暑期多校訓練營2 HI
- 第四期訓練營-rust for linux 作業RustLinux
- 「程式碼隨想錄八股訓練營總結」
- 利用Python訓練手勢模型程式碼Python模型
- 「超級玩家訓練營2.0」結營,巨量引擎加碼“遊戲進階營銷人才”培養遊戲
- 使用Pytorch訓練分類器詳解(附python演練)PyTorchPython
- CANN訓練營第三季_基於昇騰PyTorch框架的模型訓練調優_讀書筆記PyTorch框架模型筆記
- 一個小小的AI訓練營竟然臥虎藏龍AI
- 【MindStudio訓練營第一季】課程筆記筆記
- 馬上報名 | Google Play線上訓練營三月課程Go
- 程式碼隨想錄演算法訓練營第9天 |演算法
- 華南攻略 | GBase資料庫訓練營專場培訓最後一季資料庫
- 開課啦!硬體安全訓練營——智慧攝像頭漏洞挖掘實戰培訓
- 企業級訓練營火熱來襲!速來報名企業運維訓練營之雲原生和Kubernetes 實戰(第1期)~運維
- 【vjudge訓練記錄】11月個人訓練賽1
- acm訓練題ACM
- 【sql】訓練五SQL
- 【sql】訓練四SQL
- 【sql】訓練三SQL