3 回答

TA貢獻1776條經驗 獲得超12個贊
我們分別將它們稱為 way1 和 way2。
在方式 1 中,您在每次輸入后檢查值錯誤,但在方式 2 中,您在代碼片段之后檢查任何錯誤(在這種情況下,它很可能是值錯誤)。
Way1 在每次輸入后檢查錯誤,way2 整體檢查錯誤。在Python中,如果出現任何錯誤,編譯器將停止并拋出錯誤。
假設由于人為錯誤,您將收到屬性錯誤,way2 將打印:
“錯誤,請輸入數字”
但是,way1 會給你一個錯誤,并且代碼停止工作,你必須重新運行它。
現在我們來談談空間和時間復雜度,兩者的代碼具有相同的復雜度
如果其他人想理解您的代碼,在無法聯系到您的情況下,他/她將很容易理解 way2 代碼片段,因為它更干凈且易于閱讀。

TA貢獻1836條經驗 獲得超3個贊
第一個 Try 語句中有重復的代碼。有兩個 Try 和 except 處理每個用戶輸入的錯誤,而在第二個代碼塊中只有一個。不要重復自己(DRY)原則指出,邏輯中的重復應該通過抽象來消除。向代碼庫添加額外的、不必要的代碼會增加將來擴展和維護軟件所需的工作量。第二個 Try 語句看起來更干凈、更易于閱讀,并且是首選的邏輯方法。

TA貢獻1817條經驗 獲得超14個贊
這些方法之間的主要區別在于,您是否在所有代碼周圍都有一個 try-catch 塊,或者只是在錯誤檢查周圍有一個 try-catch 塊。首先,第一個將錯誤檢查拆分為多個 try-except 塊,而第二個將整個代碼塊放入單個 try- except 塊中。其次,第一個使用 quit() 函數跳過代碼的計算部分,而第二個則通過將其放在 try 塊內來跳過它。
我想說第二種方法更干凈、更容易閱讀。首先,您只有一個 try- except 塊,這減少了冗余代碼的數量。其次,通過將所有代碼都放在 try- except 塊中而不是讓程序退出來跳過代碼,可以更容易地看到發生了什么。最后,第二段代碼更短、更簡潔,對我來說更像是標準實踐。
添加回答
舉報