python學習 異常處理

2021-10-08 12:47:41 字數 1119 閱讀 4539

這次的學習內容是異常處理,簡單的說就是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...