《雲計算全棧》 python篇 簡化除法判斷

2021-10-03 15:26:12 字數 2114 閱讀 9176

5 案例4:簡化除法判斷

5.1 問題

建立mydiv.py指令碼,要求如下:

提示使用者輸入乙個數字作為除數

如果使用者按下ctrl+c或ctrl+d則退出程式

如果使用者輸入非數字字元,提示使用者應該輸入數字

如果使用者輸入0,提示使用者0不能作為除數

5.2 方案

首先,執行try子句(在關鍵字try和關鍵字except之間的語句),輸入數字,讓這個數字被100整除,

1.如果沒有異常發生,忽略except子句,try子句執行後,執行else子句和finally子句,最後執行 try 語句之後的**結束整個程式。

2.如果在執行try子句的過程中發生了異常,異常的型別和 except 之後的名稱相符,那麼對應的except子句將被執行。然後執行finally子句,最後執行 try 語句之後的**結束整個程式。

需要注意的是:允許使用者中斷這個程式(使用ctrl+c或ctrl+d方法)。使用者中斷的資訊會引發keyboardinterrupt 和eoferror 這兩種異常。

乙個 try 語句可能包含多個except子句,分別來處理不同的特定的異常。最多只有乙個分支會被執行。

處理程式將只針對對應的try子句中的異常進行處理,而不是其他的 try 的處理程式中的異常。

try except 語句只有乙個可選的else子句,使用這個子句,必須放在所有的except子句之後。這個子句將在try子句沒有發生任何異常的時候執行。

finally子句是無論異常是否發生,是否捕捉都會執行的一段**,使用finally可以保證檔案總是能正常的關閉

5.3 步驟

實現此案例需要按照如下步驟進行。

步驟一:編寫指令碼

[root@localhost day05]

# vim mydiv.py

#!/usr/bin/env python3

try:

num =

int(

input

("number: "))

result =

100/ num

except valueerror:

print

('請輸入數字'

)except zerodivisionerror:

print

('不允許使用0'

)except

(keyboardinterrupt, eoferror)

:print

('\nbye-bye'

)else

:print

(result)

# 不發生異常才執行的語句

finally

:print

('done'

)# 不管異常是否發生都要執行的語句

print

('end of program'

)#不是必須把所有的語句寫全,常用的有try-except和try-finally組合

步驟二:測試指令碼執行

[root@localhost day05]# python3 mydiv.py 

number: 0

不允許使用0

done

end of program

[root@localhost day05]# python3 mydiv.py

number: nighao

請輸入數字

done

end of program

[root@localhost day05]# python3 mydiv.py

number: 3

33.333333333333336

done

end of program

[root@localhost day05]# python3 mydiv.py

number: 55^c

bye-bye

done

end of program

[root@localhost day05]# python3 mydiv.py

number:

bye-bye

done

end of program

《雲計算全棧》 python篇 出版商程式

3 案例3 出版商程式 3.1 問題 建立books.py檔案,實現以下目標 為出版商編寫乙個book類 book類有書名 作者 頁數等屬性 列印例項時,輸出書名 呼叫例項時,顯示該書由哪個作者編寫3.2 方案 建立乙個類,類中建立3種魔法方法 1.init 方法 init 方法用於初始化例項屬性,...

一艘雲計算「全棧」航母已起航

網易雲已經成為乙個巨大的網際網路聯接基礎設施,在幾乎所有企業都在數位化的當下,網易雲希望通過開放技術幫助到企業轉型,攜手合作夥伴促進數字經濟的發展。7月31日,網易雲在雲創大會上發布了單集群可支援5000物理節點的 瀚海 私有雲,以及完整的微服務解決方案 輕舟 工業智慧型平台等最新產品,並聯合浪潮推...

雲計算全棧 基礎知識 計算機儲存單位介紹

計算機儲存單位一般用b b kb mb gb tb pb eb zb yb bb來表示,它們之間的關係是 位元位 bit binary digits 存放一位二進位制數即 0 或 1。最小的儲存單位 位元組 byte 8個二進位制位 b 為乙個位元組 b 1kb kilobyte 千位元組 1024...