【Python實作】製作簡易的購物車程式(透過List列表集合)

這篇用 Python 製作一個簡易購物車程式,透過 List 列表儲存商品名稱與價格,最後印出購買清單與總金額。

📘 Python 實作|製作簡易的購物車程式

練習目的

這次的練習目標,是熟悉 Python 的 List 列表操作。

  • 練習建立空列表。
  • 練習使用 append() 將資料加入列表。
  • 練習使用 while True 建立可重複輸入的流程。
  • 練習使用 break 結束迴圈。
  • 練習使用 sum() 計算價格總和。

題目

讓使用者依序輸入商品名稱與商品價格,並把資料裝進 List 裡。 最後印出使用者購買的所有商品名稱,以及所有商品的總價格。

🧪 完整程式碼

下面是一個簡易購物車程式。使用者可以一直輸入商品,直到輸入 end 為止。

# 程式開始 # 簡易購物車程式(練習 List) all_goods = [] all_prices = [] while True: good = input("輸入要購買的商品") if good == "end": break price = float(input(f"請輸入{good}的價格:")) all_goods.append(good) all_prices.append(price) print(all_goods) print(all_prices) total = sum(all_prices) print(f"總共買了{all_goods},一共是{total}元") # 程式結束

🖥️ 程式執行結果

假設使用者依序輸入 applebananaorange,最後輸入 end 結束。

輸入要購買的商品apple
請輸入apple的價格:200
輸入要購買的商品banana
請輸入banana的價格:100
輸入要購買的商品orange
請輸入orange的價格:300
輸入要購買的商品end

['apple', 'banana', 'orange']
[200.0, 100.0, 300.0]
總共買了['apple', 'banana', 'orange'],一共是600.0元

🔎 程式說明

接著把這個購物車程式拆開來看,會更容易理解 List 在這裡扮演的角色。

1. 建立兩個空 List

all_goods = [] all_prices = []

一開始先建立兩個空列表:

  • all_goods:用來存放商品名稱。
  • all_prices:用來存放商品價格。
List 很適合用來存放一串資料。像購物車這種「一項一項加進去」的需求,就很適合用 List。

2. 使用 while True 讓使用者一直輸入

while True: good = input("輸入要購買的商品")

while True 代表建立一個無限迴圈。

也就是說,只要沒有遇到 break,程式就會一直重複執行。

3. 輸入 end 時結束購物

if good == "end": break

這段是結束購物車輸入的條件。

當使用者輸入 end,程式就會執行 break,離開 while 迴圈。

這裡的 end 是我們自己設定的結束關鍵字。
也可以改成 qexitdone,看自己習慣。

4. 輸入商品價格並轉成 float

price = float(input(f"請輸入{good}的價格:"))

使用者透過 input() 輸入的內容,預設會是字串。

但價格需要進行加總,所以要用 float() 轉成數字。

這裡也用了 f-string,讓提示文字可以直接帶入商品名稱。

f"請輸入{good}的價格:"

如果 goodapple,畫面就會顯示:

請輸入apple的價格:

5. 使用 append() 把商品和價格加入 List

all_goods.append(good) all_prices.append(price)

append() 的功能,是把新的資料加到 List 的最後面。

每輸入一項商品,就把商品名稱加進 all_goods, 並把商品價格加進 all_prices

輸入內容 加入的 List 結果
apple all_goods ['apple']
200 all_prices [200.0]
banana all_goods ['apple', 'banana']
100 all_prices [200.0, 100.0]

6. 印出所有商品與所有價格

print(all_goods) print(all_prices)

當使用者輸入 end 離開迴圈後,程式會印出目前兩個 List 的內容。

['apple', 'banana', 'orange'] [200.0, 100.0, 300.0]

7. 使用 sum() 計算總金額

total = sum(all_prices)

sum() 可以把 List 裡的數字全部加總。

因為 all_prices 裡放的是所有商品價格,所以:

sum([200.0, 100.0, 300.0]) → 600.0

8. 用 f-string 輸出購物結果

print(f"總共買了{all_goods},一共是{total}元")

最後用 f-string 把購物清單和總金額印出來。

總共買了['apple', 'banana', 'orange'],一共是600.0元

🧭 執行流程整理

用表格整理整個購物車程式的流程。

步驟 程式做什麼 目的
1 建立空 List 準備存放商品名稱與價格。
2 使用 while True 讓使用者可以重複輸入商品。
3 判斷是否輸入 end 決定是否結束購物流程。
4 輸入價格並轉成 float 讓價格可以被加總。
5 使用 append() 把商品與價格加入 List。
6 使用 sum() 計算所有商品的總金額。
7 印出購物結果 顯示購買清單與總價。

💡 小補充:這個寫法的特色

這個版本使用兩個 List,分別存放商品名稱與商品價格。

all_goods = ['apple', 'banana', 'orange'] all_prices = [200.0, 100.0, 300.0]

這種寫法很直觀,初學者也容易理解。

不過如果之後想讓每個商品名稱和價格綁得更緊,也可以考慮使用 Dictionary 或巢狀 List。

目前這個程式還沒有處理「價格輸入文字」的情況。
例如使用者輸入 abc 當價格,程式會發生錯誤。之後可以再加入 try/except 來防呆。

✅ 小結

這個簡易購物車程式很適合用來練習 Python List,因為購物車本身就是一種「資料一筆一筆加入清單」的情境。

  • List:用來儲存多筆商品資料。
  • append():把新商品或價格加入列表。
  • while True:讓輸入流程持續進行。
  • break:在輸入 end 時結束迴圈。
  • float():把價格轉成可以計算的數字。
  • sum():計算所有商品價格總和。
  • f-string:讓輸出文字更好組合。
簡單記法:
購物車的核心邏輯就是「輸入商品 → 加入 List → 輸入價格 → 加入 List → 最後加總」。

留言

這個網誌中的熱門文章

麻將新手必看!不知道聽什麼牌怎麼辦?超多種實戰聽牌範例,教你怎麼判斷胡牌機會

麻將教學懶人包|從規則到牌理的完整觀念整理(附實戰心得)

【新訓入伍】義務役新兵必看!入伍報到必備清單整理|2026年更新