CodeSprout程式萌芽
困難第 22 題 · 實驗計算卡
CodeSprout 官方2026/10/04 00:19
官方解答 · 置頂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