亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

計算加班費時,哪一項比較好?

計算加班費時,哪一項比較好?

MMTTMM 2023-07-11 17:31:23
我希望有人解釋一下這兩者在解決這個問題方面有什么區別,以及哪一個更好。使用 try 和 except 重寫您的支付程序,以便您的程序通過打印消息并退出程序來優雅地處理非數字輸入。下圖展示了程序的兩次執行:Enter Hours: 20Enter Rate : nineError, please enter numeric inputEnter Hours: fortyError, please enter numeric inputinput_hours = input('Enter Hours: ')try:    hours = float(input_hours)              except ValueError:    print('Error, please enter numeric input')    quit()input_rate = input('Enter Rate: ')try:    rate = float(input_rate)                except ValueError:    print('Error, please enter numeric input')    quit()if hours < 40:    pay = rate * hours                      else:    overtime = hours - 40                       pay = (rate * 40.0) + (1.5 * rate * overtime)print(pay)或者try:    hrs = input('Enter Hours: ')    hr = float(hrs)    rate = input('Enter Rate: ')    rt = float(rate)    if float(hr) <= 40:        print(hr * rt)    else:        hrr = hr - 40        rr = hrr * 1.5 * rt        print(40 * rt + rr)except:    print('Error, please enter numeric input')
查看完整描述

3 回答

?
叮當貓咪

TA貢獻1776條經驗 獲得超12個贊

我們分別將它們稱為 way1 和 way2。

  1. 在方式 1 中,您在每次輸入后檢查值錯誤,但在方式 2 中,您在代碼片段之后檢查任何錯誤(在這種情況下,它很可能是值錯誤)。

  2. Way1 在每次輸入后檢查錯誤,way2 整體檢查錯誤。在Python中,如果出現任何錯誤,編譯器將停止并拋出錯誤。

假設由于人為錯誤,您將收到屬性錯誤,way2 將打印:

“錯誤,請輸入數字”

但是,way1 會給你一個錯誤,并且代碼停止工作,你必須重新運行它。

  1. 現在我們來談談空間和時間復雜度,兩者的代碼具有相同的復雜度

  2. 如果其他人想理解您的代碼,在無法聯系到您的情況下,他/她將很容易理解 way2 代碼片段,因為它更干凈且易于閱讀。


查看完整回答
反對 回復 2023-07-11
?
米脂

TA貢獻1836條經驗 獲得超3個贊

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



查看完整回答
反對 回復 2023-07-11
?
大話西游666

TA貢獻1817條經驗 獲得超14個贊

這些方法之間的主要區別在于,您是否在所有代碼周圍都有一個 try-catch 塊,或者只是在錯誤檢查周圍有一個 try-catch 塊。首先,第一個將錯誤檢查拆分為多個 try-except 塊,而第二個將整個代碼塊放入單個 try- except 塊中。其次,第一個使用 quit() 函數跳過代碼的計算部分,而第二個則通過將其放在 try 塊內來跳過它。

我想說第二種方法更干凈、更容易閱讀。首先,您只有一個 try- except 塊,這減少了冗余代碼的數量。其次,通過將所有代碼都放在 try- except 塊中而不是讓程序退出來跳過代碼,可以更容易地看到發生了什么。最后,第二段代碼更短、更簡潔,對我來說更像是標準實踐。


查看完整回答
反對 回復 2023-07-11
  • 3 回答
  • 0 關注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號