這次的學習內容是異常處理,簡單的說就是python內建了異常檢測機制,能夠識別出類似除數為0、開啟檔案失敗這一類錯誤。因此,就可以用try……except……
**對可能出現的錯誤進行預判,從而讓程式避開錯誤段繼續執行下去。
這篇blog不準備列舉各種異常型別(它們將作為**try……except……
中except後面的判據),我們直接用乙個具體的程式設計練習說明一切。下面開始:
題目描述:電腦產生乙個零到100之間的隨機數字,然後讓使用者來猜,如果使用者猜的數字比這個數字大,提示太大,否則提示太小,當使用者正好猜中電腦會提示, 「恭喜你猜到了這個數是…在使用者每次猜測之前程式會輸出使用者是第幾次猜測,如果使用者輸入的根本不是乙個數字, 程式會告訴使用者輸入無效。思路:加粗的部分顯然需要我們用到異常處理機制。其中except後的判據為valueerror。當使用者輸入的是文字而不是數字時,程式如果試圖將該輸入轉換為整數,將引發valueerror異常。
import random
i =0
answer = random.randint(0,
100)
print
('猜測乙個0到100之間的整數。'
)while
true
: i +=
1 ask =
input
('第'
+str
(i)+
'次猜,請輸入乙個整型數字: '
)try
: ask =
int(ask)
except valueerror:
print
('輸入無效!'
)break
else
:if ask > answer:
print
('太大'
)elif ask < answer:
print
('太小'
)else
:print
('恭喜你猜到了這個數是'
+str
(answer)
)break
Python學習 異常處理
assertionerror 斷言語句失敗 assertionerror 斷言語句失敗,一般是在測試程式時置入檢查點 my list love my list.pop assert len my list 0 traceback most recent call last file line 1,i...
python學習 異常處理
class myerror exception definit self,msg self.msg msg defstr self return str self.msg 777 try 檢測try語句塊中的錯誤 print 2 0 raise myerror 主動丟擲錯誤 except myerr...
python學習 異常處理
小技巧 isinstance obj,foo 檢查是否obj是否是類 foo 的物件 class foo object pass obj foo isinstance obj,foo issubclass sub,super 檢查sub類是否是 super 類的派生類 class foo objec...