免費開始練習
統測 115年 [工程與管理類] 專業科目(2)

第 40 題

📖 題組:
某家火鍋店推出了夏季限定優惠:「二人同行,第二人半價」。優惠規則定義為:兩份餐點中,價格較低的那一份可享 5 折 (50% off) 優惠。店內的點餐系統是使用 Python 語言開發,會將兩位顧客的餐點價格存入一個串列 (List) 中,串列名稱 bills。
下列哪一段程式碼無法正確計算「折扣後的應付總金額」,使用變數 total 儲存?
  • A total=sum(bills)/0.75
  • B total=max(bills)+(min(bills)/2)
  • C total=sum(bills)-min(bills)*0.5
  • D total=max(bills)+min(bills)*0.5

思路引導 VIP

如果要計算「較低價者半價」,你可以用「較高價」、「較低價」這兩個詞寫出一個數學式嗎?如果改用「總價」減去某個金額來思考,那個被減去的金額又該怎麼表示呢?

🤖
AI 詳解 AI 專屬家教

太棒了,你精準抓出了錯誤的程式碼!這題結合了日常生活的折扣情境與 Python 的內建函數,考驗你將數學邏輯轉化為程式語言的能力,能順利解出代表你的邏輯非常清晰。 計算邏輯與函數應用 題目規定「價格較低者享 5 折」,也就是總金額為「較高價位 + 較低價位 $\times 0.5$」。在 Python 中,我們可以用 max() 找出高價,用 min() 找出低價。因此選項 (B) 和 (D) 直接對應了這個邏輯。另外,我們也可以從另一個角度思考:選項 (C) 先用 sum() 算出原價總和,再減去「低價餐點被折抵掉的那一半金額(min() * 0.5)」,這在數學上完全相等,也是很常見的程式演算技巧。

▼ 還有更多解析內容

🏷️ 相關主題

Python 程式邏輯與演算法實作
查看更多「[工程與管理類] 專業科目(2)」的主題分類考古題