技術也能幫生活減壓:用 Python 幫我算咖啡錢

更新 發佈閱讀 6 分鐘
每天早晨,我都習慣來一杯咖啡,無論是便利商店的拿鐵,還是手沖的黑咖啡,都算是一種小小的儀式感。只是偶爾月底對帳單一看,才驚覺「哇,原來我一個月喝咖啡花了這麼多!」
以前我會用手機記事本隨便記記,但很快就放棄。直到我用 Python 寫了一個小型咖啡預算管理器,才發現:原來程式也能這麼生活化,還能幫我減壓,因為我不用再腦袋算來算去。
raw-image



我的小工具:咖啡預算管理器

這個小工具能幫我做到三件事:

  1. 記錄咖啡消費:輸入今天喝了哪種咖啡、花多少錢。
  2. 計算總金額:隨時知道自己這個月花了多少。
  3. 提醒是否超支:設定一個月預算(比如 1500 元),如果快要超標就提醒我。

Python 程式碼

import csv
import datetime

class CoffeeBudgetManager:
def __init__(self, budget, filename="coffee_records.csv"):
self.budget = budget
self.records = [] # 初始紀錄列表
self.filename = filename
# 啟動時讀取現有紀錄
self.load_records()

def load_records(self):
try:
with open(self.filename, 'r', newline='') as f:
reader = csv.DictReader(f)
self.records = list(reader)
except FileNotFoundError:
self.records = [] # 如果檔案不存在,創建空列表

def save_records(self):
with open(self.filename, 'w', newline='') as f:
writer = csv.DictWriter(f, fieldnames=["date", "type", "price"])
writer.writeheader()
writer.writerows(self.records)

def add_record(self, coffee_type, price):
today = datetime.date.today().strftime("%Y-%m-%d")
self.records.append({"date": today, "type": coffee_type, "price": price})
self.save_records() # 每次記錄後保存
print(f"已記錄:{today} {coffee_type} - {price} 元")

def total_spent(self):
return sum(float(record["price"]) for record in self.records)

def check_budget(self):
total = self.total_spent()
print(f"目前累計花費:{total} 元 / 預算 {self.budget} 元")
if total > self.budget:
print("⚠️ 你已經超出咖啡預算啦!")
elif total > self.budget * 0.8:
print("🔔 小提醒:你已經花掉 80% 的預算囉~")

# 測試
manager = CoffeeBudgetManager(budget=1500)
manager.add_record("星巴克拿鐵", 150)
manager.check_budget()

執行效果就像一個貼心的咖啡記帳小助理,每次輸入都能馬上知道「還能喝多少杯」。


A小姐的小故事

我的朋友 A 小姐就是個咖啡控。以前她常常月底才發現自己喝掉了 2000 多塊的咖啡,還開玩笑說:「這筆錢都能去買一個小電鍋了!」
但自從她用這個小工具後,心情變得很輕鬆。她說,這就像一個溫柔的提醒,讓她在喝咖啡的時候更有意識,而不是等到月底才驚嚇。


給讀者的話

其實 Python 不一定只能拿來做很難的數據分析或 AI,像這樣的小小工具,就能讓生活更有掌控感。
當我看到自己能「用程式幫自己省錢」時,真的會覺得——技術,也能很溫柔。


留言
avatar-img
留言分享你的想法!
avatar-img
Alanna的沙龍
0會員
15內容數
一起閱讀、理財與成長的文字筆記本。 我會分享看過的書、理財與投資的體會(尤其是加密貨幣新手友善內容)、以及我學習Python與AI的過程。 如果你也是學習路上的夥伴,歡迎追蹤,讓我們一起變得更自由。
你可能也想看
Thumbnail
試聞 Sunkronizo的香氛後,我才發現:原來不是我在挑香,而是香氣更早知道我是誰。原本以為自己最像溫柔的 1 號,真正試香後卻被成熟、冷靜的 3 號選中。其他七瓶香,也意外喚醒我生命中不同階段的八種角色。香氣讓我明白——人生不只直線前進,也能橫向展開,切換更多樣的自己。
Thumbnail
試聞 Sunkronizo的香氛後,我才發現:原來不是我在挑香,而是香氣更早知道我是誰。原本以為自己最像溫柔的 1 號,真正試香後卻被成熟、冷靜的 3 號選中。其他七瓶香,也意外喚醒我生命中不同階段的八種角色。香氣讓我明白——人生不只直線前進,也能橫向展開,切換更多樣的自己。
Thumbnail
本文介紹了各種運算符的用法和優先級,包括算術運算符、比較運算符、賦值運算符、邏輯運算符、位元運算符、成員運算符和身份運算符。每種運算符都有詳細的描述和示例程式碼,幫助理解其功能和用法。
Thumbnail
本文介紹了各種運算符的用法和優先級,包括算術運算符、比較運算符、賦值運算符、邏輯運算符、位元運算符、成員運算符和身份運算符。每種運算符都有詳細的描述和示例程式碼,幫助理解其功能和用法。
Thumbnail
這篇文章介紹如何使用Python整理資料成百分比資料以及繪製百分比堆疊直條圖。
Thumbnail
這篇文章介紹如何使用Python整理資料成百分比資料以及繪製百分比堆疊直條圖。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News