1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonでお祝儀計算プログラムを作る

Last updated at Posted at 2024-05-14

背景

人間の人生で、きょうだいの結婚ほどめでたいことはない。
ということで、お祝儀を包む気満々なのだが、きょうだいの結婚は人生で初めてであるため、お祝儀の計算がわからない。

早速ググったところ…

まとめ

新郎新婦が兄弟姉妹でも、お祝いの気持ちとしてご祝儀は必要なんですね。
金額の相場は、だいたい5万円。
ただし、年齢や地域、新郎新婦との関係性や立場によっても変わります。
年代が高い場合や、新郎新婦が弟・妹の場合は、相場より少し高めの金額を包むのが一般的。
逆に若い場合、新郎新婦が兄・姉の場合は、相場より少なめでもOKとされています。
包む側が未婚の場合は、相場通りの5万円が基本。
既婚で夫婦連名の場合は、7万円から10万円程度が相場になります。
子供が一緒なら、年齢に応じて子供の食事代もプラスしましょう。
自分が学生だったり、親と同居の場合は、親と同一世帯ということで個人的にご祝儀を包む必要はありません。
ただし、親族間で決められたルールがある場合は、それに従うようにしましょう。
再婚の場合も同様で、相場通りにご祝儀を贈るのが一般的ですが、結婚式の有無や相手の希望によっても変わってきます。
ご祝儀は当日に渡さず、結婚式の1ヶ月前から1週間前くらいまでに手渡しします。
会えない場合は、手紙やメッセージカードを添えて、現金書留などで送ればOK。
ご祝儀はお祝いの気持ちなので、たとえ結婚式をしない場合でも贈ります。
その場合の金額も、親族間で相談して決めると安心ですよ。
結婚祝いをギフトで贈る場合は、ご祝儀分とギフトの分の合計金額を相場にあわせましょう。
この場合も結婚式の当日ではなく余裕を持った日取りで渡すのがマナー。

そして、ギフト選びについては、夫婦で使えることと実用性が高いものであることがポイントでした。
大切な兄弟姉妹の結婚、相場を参考に無理のない範囲で、お祝いの気持ちを贈りたいですね!

明確に相場があって有難い。しかしめちゃくちゃ条件があるので、これはPythonに計算させたいと考えた。

目的

適切なお祝儀の金額をPythonに算出させるためのプログラムを実装する

実装

基本的には上記のマナーを踏襲しつつ、最終的には「割り切れない」値を返させる。

import sympy

def calculate_goshugi(age, relationship, marital_status, spouse_attending=False, has_children=False, is_student=False, living_with_parents=False):
    # 基本の相場
    base_amount = 50000
    
    # 年代や関係性による調整
    if relationship in ['', '']:
        base_amount += 10000  # 弟や妹の場合、相場より高め
    
    # 未婚の場合
    if marital_status == '未婚':
        amount = base_amount
    
    # 既婚の場合
    elif marital_status == '既婚':
        if spouse_attending:
            amount = 70000  # 夫婦連名の場合、7万円から10万円が相場
        else:
            amount = base_amount
    
    # 子供がいる場合、食事代をプラス
    if has_children:
        amount += 5000  # 仮に子供一人あたり5000円を追加
    
    # 学生や親と同居の場合
    if is_student or living_with_parents:
        amount = 0  # 親と同一世帯の場合、個人でご祝儀を包む必要なし
    
    return amount

def next_prime(n):
    # sympyのnextprime関数を使用して、nより大きい次の素数を返す
    return sympy.nextprime(n)

# ご祝儀の金額を計算
goshugi_amount = calculate_goshugi(age, relationship, marital_status, spouse_attending, has_children, is_student, living_with_parents)

# ご祝儀の金額より大きい素数を計算
final_goshugi_amount = next_prime(goshugi_amount)

# 結果を出力
print(f"適切なご祝儀の金額は {final_goshugi_amount} 円です。")

実行

下記の条件で試してみる。

		age: 25
		relationship: 
		marital_status: 既婚
		spouse_attending: false
		has_children: false
		is_student: false
		living_with_parents: false

このプログラムを実行すると、指定された条件に基づいて適切なご祝儀の金額が素数として算出されます。今回の条件では、60,013円が適切なご祝儀の金額として出力されました。

まとめ

マナーは大変だけれども、ちゃんと頑張りたい。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?