卒コン幹事用プログラム

大学の研究室で、卒業生の先輩のためにコンパを開くから幹事をしろと言われた。

飲み会には興味皆無だが、先輩には好きな人も多いので、幹事を引き受けた。

毎年のことらしいので、去年の先輩から大体の集金額を聞いて諸々計算。。。

 

そこで気がついた。

めっちゃめんどくさい!!!!

そもそも計算もめんどくさいのだが、後から人数が変わったりするのがめちゃめちゃ厄介。

面倒になる最も大きな原因の一つは、卒業生からお金を一切もらわないことだ。

つまり、在校生と先生が卒業生の分の飲み代と簡単なプレゼント代も支払う。

それが結構高い。

当然欠席者もいるだろうから、とても高くなる。

その辺の値段設定まで考えると結構面倒。

なので、後で人数が変わってもイライラしないように(計算しなくていいように)、始めたてのpythonを使ってコードを書いてみることにした。

この記事はそのメモ。

学校が薬科大なので汎用性は全くないけどね!

 

条件はこんな感じ

研究室の配属は3年以上

卒業生は創薬学科の4年生と6年生、薬学科の6年生

欠席者からもプレゼント代として徴収する

変数が多いと難しいので、出席者4000円、欠席者2000円の徴収と、とりあえず固定した

去年の感じだとプレゼント代は908円(クオカードと花)

卒業生で、卒コン不参加の人へのプレゼントはクオカードのみ

飲み代は3300円(しかし貸切最低保障金額が18万円らしいので最低でも60人参加は絶対条件)

足りない分は先生から徴収したい(僕の希望)

 

コードはこちら

sannen_atend = 0
sannen_not_atend =0
yonen_yaku_atend = 0
yonen_yaku_not_atend =0
yonen_souyaku_atend = 0
yonen_souyaku_not_atend =0
gonen_atend = 0
gonen_not_atend = 0
rokunen_atend = 0
rokunen_not_atend =0
sensei_atend = 0
sensei_not_atend =0
sannen = 17
yonen_yaku= 14
yonen_souyaku = 3
gonen=16
rokunen = 19
sensei = 3
##入力
sannen_not_atend = 0
yonen_yaku_not_atend = 1
yonen_souyaku_not_atend = 1
gonen_not_atend = 6
rokunen_not_atend = 0
sensei_not_atend = 0
sannen_atend = sannen - sannen_not_atend
yonen_yaku_atend = yonen_yaku - yonen_yaku_not_atend
yonen_souyaku_atend = yonen_souyaku - yonen_souyaku_not_atend
gonen_atend = gonen - gonen_not_atend
rokunen_atend = rokunen - rokunen_not_atend
sensei_atend = sensei - sensei_not_atend
atend_pay = sannen_atend + yonen_yaku_atend + gonen_atend + sensei_atend
atend_not_pay = yonen_souyaku_atend + rokunen_atend
not_atend_pay = sannen_not_atend + yonen_yaku_not_atend + gonen_not_atend + sensei_not_atend
not_atend_not_pay = yonen_souyaku_not_atend + rokunen_not_atend
def check4000(sensei_pay_add):
  if atend_pay + atend_not_pay > 60:
  
    pay_all = atend_pay * 4000 + not_atend_pay * 2000
    spending = (atend_pay + atend_not_pay)*3300 + atend_not_pay*908 + not_atend_not_pay*530
    income = pay_all + 40600 + sensei_pay_add
    if income >= spending:
      print("多分大丈夫だよ!! ちなみに差額は{}だよ!!".format(income-spending))
    else:
      print("これじゃダメだよ!! 料金を考え直してね! ちなみに{}足りないよ! 頑張って!!!".format(spending - income))
      
  else:
    print("60人に足りないよ!! あと{}人!! 頑張って集めて!!".format(60 - atend_pay - atend_not_pay))
  
check4000(0)

そして実行。

これだと、先生から一銭ももらわない計算で4100円ほど足りないらしい。

先生から1500円ずつ余分にもらうことになりそうだ。。。