2016-05-05 184 views
-1

我正在編寫一個程序,它從輸入文件中讀取整數值,分割數字,然後將百分比寫入輸出文件。一些我的程序可能爲零的值,並調出0/0或4/0的場合。忽略零除法錯誤

從這裏,我得到一個Zerodivisionerror,有沒有辦法忽略這個錯誤,以便它只是打印0%?

謝謝。

+0

歡迎來到SO,請檢查這個[URL](http://stackoverflow.com/help)它會幫助你提高你的內容質量。 –

回答

2

最簡單的方法是檢查是否除數爲0,如果是這樣的話跳過師,只是用0的結果是:

n = [(1, 3), (5, 2), (0, 0), (3, 3), (4, 0)] 
res = [x/float(y) if y else 0 for x, y in n] # [0.3333333333333333, 2.5, 0, 1.0, 0] 

其他選項是趕上ZeroDivisionErrortry/except

res = [] 
for x, y in n: 
    try: 
     res.append(x/float(y)) 
    except ZeroDivisionError: 
     res.append(0)