Pythonで家計簿と残業代を自動計算する方法|実践チュートリアル

    Pythonで計算を応用する ハナマルコとチャッピー先生 アイキャッチ

    こんにちは、Python初心者のハナマルコです。

    前回の記事では、ChatGPTと一緒にPythonを使った簡単な計算を試してみました。今回はその続き。

    ただの足し算ではなく、もっとリアルな生活の中で役立つ計算にチャレンジしてみます。

    今回もチャッピー先生に聞いて楽しくPython勉強するぞ!

    基本的な計算から始めたい方:
    Pythonで割り勘と時間計算アプリ

    実践シリーズを初回から読みたい方:
    Pythonって何?初心者にやさしく解説

    この記事の内容
    • 日常用途に使えるPython計算をChatGPTと学習
    • datetimeモジュールを使って時間の計算ができるようになる
    • 割り算の答えは小数点になる理由
    読みたいところに飛べる目次

    生活に役立つ計算ってどんなもの?

    ここからは具体的な例をあげてPythonを使って日常生活で役立つ計算を学習しましょう。

    Pythonで家計簿をつけてみた

    まずは前回のおさらいから。

    print(1200 + 800)
    # 答え: 2000

    計算はprint()の中に数字を入力すると答えが出ます。

    たとえば今日の支出がこちら

    • 朝食 500円
    • 昼食 850円
    • 夕食 1000円
    • 飲み物 200円
    • 雑貨 1200円
    ハナマルコ

    この合計をPythonで出すには?

    するとこんなコードを教えてくれました。

    breakfast = 500
    lunch = 850
    dinner = 1000
    drink = 200
    misc = 1200
    
    total = breakfast + lunch + dinner + drink + misc
    print("今日の支出合計は", total, "円です")

    # 実行結果
    今日の支出合計は 3750 円です

    こういう家計簿的な記録も、Pythonなら柔軟に扱えそうです。

    もっと便利なツールを作ってみたい方:
    PythonとスプレッドシートでTODO管理

    セキュリティも大切!パスワード管理はこちら:
    Pythonで安全なパスワードを生成

    時間の計算(会議の終了時間)

    計算ができるなら、時間の計算もできるのでは?

    ハナマルコ

    14:35に始まった会議が1時間45分後に終わる。終了時間は何時?Pythonで時間も調べられるかしら?

    チャッピー先生

    はい、Pythonで時間の計算もできます

    こういう“時間の足し算”、意外とややこしいですよね。Pythonではこう書きます。

    from datetime import datetime, timedelta
    
    start_time = datetime.strptime("14:35", "%H:%M")
    duration = timedelta(hours=1, minutes=45)
    end_time = start_time + duration
    
    print("会議の終了時間は", end_time.strftime("%H:%M"), "です")

    # 実行結果
    会議の終了時間は 16:20 です

    Pythonの「datetime」モジュールがあれば、時間の計算もミスなくこなせます!

    ハナマルコ

    このコードは少し複雑かも…「datetime」モジュールって何?

    チャッピー先生

    datetime(デートタイム)モジュールは、
    Pythonで「日付」や「時間」を扱うための道具箱です。

    たとえばこんなことができます。

    • 今日の日付や今の時刻を出す
    • 〇日後や〇時間後を計算する
    • 文字で書かれた時間(例:”14:30″)を、ちゃんと計算できる時間に変換する
    • 日付同士の差(例:「何日間かかった?」)を計算する

    Pythonには、よく使う便利な機能を「モジュール」として用意しています。
    「datetime 」はそのひとつで、「日付・時間」に特化した機能がぎゅっと詰まったモジュールです。

    イメージで言うと…

    電卓 → 数を足したり引いたりする道具
    datetimeモジュール → 日付や時間を計算する専用の道具箱

    Pythonには他にも便利でたくさんの「モジュール」があります。これから少しずつ覚えていきましょう。

    借金返済シミュレーション

    少し難易度をあげて、こんな計算をしてみましょう。

    ハナマルコ

    24万円のPCを買いたいのですが、金利13%で24回払いにしたら毎月いくらの支払いになるの?金利合計と支払い総額を教えて

    チャッピー先生

    了解しました。Pythonで計算するコードはこちらになります

    # 借入条件の設定
    
    principal = 240000 # 借入元本(円)
    annual_rate = 0.13 # 年利13%
    months = 24    # 支払回数(月)
    
    # 月利の計算(年利 ÷ 12)
    
    monthly_rate = annual_rate / 12
    
    # 毎月の支払い額(元利均等返済の公式)
    
    monthly_payment = principal * monthly_rate * (1 + monthly_rate) ** months / ((1 + monthly_rate) ** months - 1)
    
    # 支払い総額と利息合計
    
    total_payment = monthly_payment * months
    total_interest = total_payment - principal
    
    # 結果の表示(四捨五入して表示)
    
    print("✅ 月々の支払い額:", round(monthly_payment), "円")
    print("✅ 支払い総額:", round(total_payment), "円")
    print("✅ 金利(利息)合計:", round(total_interest), "円")

    実行結果がこちらです。

    ✅ 月々の支払い額: 11410 円
    ✅ 支払い総額: 273841 円
    ✅ 金利(利息)合計: 33841 円

    ハナマルコ

    ひぇーさすがにこのコードは私には書けませんね・・・

    チャッピー先生

    そうですね、少し複雑なコードですから初心者には難しく感じますね

    簡単に解説するとこんな感じになります。

    ①借入条件の設定
    ・借りたお金(ローン)は24万円です。
    ・金利は年で13%。「0.13」は13%
    ・24回払⑤

    ②月の金利に直す(monthly_rate = annual_rate / 12)
    ・13% ÷ 12 = 約1.08%(毎月の利息率)

    ③毎月の支払い額を計算(ちょっと難しい式)
    ・元利均等返済という計算方法
    ・毎月同じ金額を払うために、利息と元本をうまくわけてくれる数式

    ④支払いの合計と利息だけを出す
    ・毎月の支払い × 月数(24回)=支払う合計金額
    ・支払った合計から元本(24万円)を引いたら、利息(=金利で余分に払った分)になります。

    ⑤結果を表示する

    ハナマルコ

    なんとなく理解できました。24万円のPCは24回払いだと27万円になるってのは驚きました…とても買えないわ。

    パソコン操作が苦手な女性
    パソコン操作が苦手な女性

    今月の残業代はいくらになる?

    24万円のPCが27万円になるなんて、残業して稼がないと。

    ハナマルコ

    今月の残業代がいくらになるかpythonで計算できそうね

    チャッピー先生

    はい、Pythonで残業代の計算ができますよ

    「基本時給1500円、残業は25%増し。2時間残業したら残業代は?」

    base_wage = 1500
    overtime_hours = 2
    overtime_rate = 1.25
    
    overtime_pay = base_wage * overtime_rate * overtime_hours
    print("残業代は", overtime_pay, "円です")

    # 実行結果
    残業代は 3750.0 円です。


    さらに、月の残業時間をまとめて計算するならこんなコードになります。

    total_overtime_hours = 15
    monthly_overtime_pay = base_wage * overtime_rate * total_overtime_hours
    
    print("今月の残業代は", monthly_overtime_pay, "円です")

    # 実行結果
    今月の残業代は 28125.0 円です。

    ハナマルコ

    あれ。このコードはかけ算だけなのに答えは小数点となっているけど?
    小数点は割り算だけじゃなかったの?

    チャッピー先生

    素晴らしい質問です!それは残業は25%増しの計算が1.25となっているからです。

    Pythonは、小数が混ざってるなら、結果も小数で返したほうが正確でいいでしょ!という考え方をします。

    ハナマルコ

    なるほど。
    これならPC買えるかも

    このコードなら私の英語力でも理解できそうだわ。

    時給 ✕ 割増手当 ✕ 残業時間で計算しているのね。さらに月の合計時間をかけ算すると今月の残業代になるね。

    わからなくても大丈夫。ChatGPTに聞けばいい!

    「コードの意味がわからなくて不安…」
    そんなときこそChatGPTの出番です。

    「このコードはどういう意味ですか?」と聞けば、1行ずつ日本語で解説してくれます。

    大切なのは、「まず動かしてみる → 意味を聞く → 少しずつ覚える」というステップ。
    完璧じゃなくてOK、ChatGPTと一緒なら怖くありません。

    まとめ

    今回チャッピー先生に教えてもらい勉強したことはこんなシーン。

    • 家計簿の合計計算
    • 会議や予定の終了時間
    • ローン返済のシミュレーション
    • 残業代の計算

    「電卓でやればいいじゃん」と思うかもしれませんが、毎日繰り返すならPythonのほうが圧倒的に楽!

    しかも、自分専用の“生活サポートツール”を作っていく感覚がちょっと楽しいんです。

    最後まで読んでいただき、ありがとうございました!

    おすすめの次の記事:
    Googleが急ぐパスキーの理由を初心者向けに解説

    関連する活用術:
    ChatGPTに名前を付けたら学習効率UP?
    ChatGPTのズレを防ぐ質問のコツ

    当ブログは基本的にリンクフリーです。リンクを行う場合の許可や連絡は不要です。

    Pythonで計算を応用する ハナマルコとチャッピー先生 アイキャッチ

    この記事が気に入ったら
    いいね または フォローしてね!

    よかったらシェアしてね!
    • URLをコピーしました!
    • URLをコピーしました!
    読みたいところに飛べる目次