官方解答 · 置頂Python
官方解答|實驗計算卡
官方解答
Python #22:實驗計算卡
解題規則
實驗筆記以文字記下三個無單位整數,請計算資料卡上的兩個欄位。
三欄文字依參數順序轉成三個無單位整數 price、quantity、credit。第一欄計算「price * quantity」;第二欄計算「quantity - credit」。最後回傳 [第一欄結果, 第二欄結果, [price, quantity, credit]]。兩個算式都讀取原始三個整數,互不覆寫。
處理步驟
保留原始輸入文字,並依參數順序用 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, -7, [0, 0, 7]]。結果由 return 回傳,不使用 print。
複雜度
依本題有界整數範圍,只有固定次數計算與固定大小回傳,時間、額外空間均為 O(1)。文字欄位轉換的時間隨欄位總字元數線性增加。
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, quantity - credit, [price, quantity, credit]]
留言討論 0
登入 後就能留言,一起討論不同的寫法。