官方解答 · 置頂Python
官方解答|訂單資料卡
官方解答
Python #24:訂單資料卡
解題規則
資料匯入工具收到以文字表示的單價、數量與折抵欄位,請產生指定的核對結果。
三欄資料以文字傳入。先各自轉成整數 price、quantity、credit;price 為單價、quantity 為數量、credit 為折抵額,原始總額定義為 price * quantity。再回傳三項:單價乘數量的原始總額、credit 除以 (quantity + 1) 的餘數,即 credit % (quantity + 1)、轉換後的三個整數清單。所有計算使用整數,不加入貨幣符號。
處理步驟
先保留三個原始字串供原長度規則使用,再用 int 轉成 price、quantity、credit。依序計算兩個指定欄位,最後附上三個整數。
為何正確
所有運算直接依題目定義,數值運算保留數值型態,文字運算明確轉成文字,最後依指定順序回傳結果。
邊界與注意事項
本題輸入範圍:三個字串均可用 int() 轉換;轉換後數值 0~100,不含小數點或前後空白。
範例追蹤
依參數順序 price_text, quantity_text, credit_text 傳入 ["0","0","7"]。關鍵中間資料為 raw = ['0', '0', '7'];price = 0;quantity = 0;credit = 7。最後回傳 [0, 0, [0, 0, 7]]。結果由 return 回傳,不使用 print。
複雜度
設輸入及必要輸出的總大小為 n;複製、轉換或掃描最壞時間 O(n),保存中間資料與回傳結果最壞需要 O(n) 空間。
CodeSprout 官方解答 · 題意分析、解題步驟與完整參考程式
def solve(price_text, quantity_text, credit_text):
raw = [price_text, quantity_text, credit_text]
price, quantity, credit = map(int, raw)
return [price * quantity, credit % (quantity + 1), [price, quantity, credit]]
留言討論 0
登入 後就能留言,一起討論不同的寫法。