Pythonミニ制作:簡単な家計簿を作る

入門 | 12分 で読める | 2026.07.13

公式ドキュメント

今回やること

支出データをリストで持ち、合計金額を計算する家計簿を作ります。

家計簿は、辞書と合計計算の練習に向いています。

1件の支出を辞書、支出一覧をリストで持ち、amountだけを足すと合計を計算できます。辞書操作リスト操作数値計算を組み合わせる制作です。

完成コード

household_book.py を作ります。

expenses = [
    {"category": "食費", "amount": 650},
    {"category": "文房具", "amount": 300},
    {"category": "交通費", "amount": 420},
]


def calculate_total(items):
    total = 0
    for item in items:
        total += item["amount"]
    return total


def show_expenses(items):
    for item in items:
        print(f"{item['category']}: {item['amount']}円")


show_expenses(expenses)
print("----------")
print(f"合計: {calculate_total(expenses)}円")

動作確認

python household_book.py

合計: 1370円 と表示されれば成功です。

食費650円、文房具300円、交通費420円の3行に続き、合計1370円が表示されることを確認します。expenses = []でもエラーにならず、合計0円と表示されます。

コードの考え方

  • 1つの支出は辞書です
  • 支出一覧はリストです
  • 合計計算と表示を別の関数に分けています

よくあるエラー

エラー原因修正
KeyError"amount" のスペル違いキー名を確認
TypeError金額が文字列数値で入れる
合計が0ループ内で足していないtotal += ... を確認

"650円"のように単位を付けた文字列は、そのまま加算できません。データには650を保存し、表示時だけを付けます。amountがない辞書を混ぜるとKeyErrorになるため、全支出でキーをそろえます。

練習

  1. 支出を5件に増やす
  2. 1000円以上なら注意表示する
  3. カテゴリ別の合計に挑戦する

カテゴリ別集計は、カテゴリ名をキー、合計を値にした辞書で作れます。

def calculate_by_category(items):
    totals = {}
    for item in items:
        category = item["category"]
        totals[category] = totals.get(category, 0) + item["amount"]
    return totals


print(calculate_by_category(expenses))

保存機能を加える前に、CSVの読み書きで表データの形式を確認してください。

次のステップ

文字列生成の実用例として Pythonミニ制作:パスワード生成ツール に進みます。

参考リソース

← 一覧に戻る
PR
PR
PR
PR