pythonで給与計算してみました
先日、一緒に仕事をしている人が、会社から社会保険に入らないといけないんですけど、と電話がかかってきたと言うんです。別に勤務時間とか勤務日数とか全然変わらないのに、その人にだけですよ。法律が変わって、週20時間以上、月88000円以上の収入がある人は、社会保険加入が義務化されたというけど、その人は、その条件に入っていません。どうしてだろう?誰かと間違えているんじゃない、とかみんなで話していました。僕は、給与明細書もらっても、いつも見ないでほったらかしにしていたので、自分の給与大丈夫かなと心配になりました。毎日、何時間働いているのか日によって違うので、正確にはいくらぐらいの収入か分かっていません。
そこで、pythonで自分の給与計算プログラムを作って調べることにしました。anacondaという無料のパッケージツールをダウンロード、インストールして同梱のspyderという開発環境を使いました。悪戦苦闘、調べて試行錯誤、動作確認をしながら、作りました。技術的には、それほど難しくないのですが、月末の日にちを求めるのに、来月の一日の日付から一日引いているのが、ちょっとしたテクニックです。
新しいパソコンを買ったので、これからもっといろんな事に活用していきたいと思います。
#給与計算プログラム
import datetime
from dateutil.relativedelta import relativedelta
print("月曜日から1習慣分の勤務時間と年月を入力してください")
#a[0]月の勤務時間 a[1]火の勤務時間 ... a[6]日の勤務時間
#a[7]西暦年 a[8]月 a[9]時給
a=list(map(int,input().split()))
yy=a[7]
mm=a[8]
d2=datetime.datetime(yy, mm, 1)
d4=datetime.datetime(yy, mm, 1) + relativedelta(months=1,days=-1)
#print(d4.month,d4.day)
dd1=d2.day
dd2=d4.day
hh=0
for i in range(dd1,dd2+1):
w=datetime.datetime(yy,mm,i).weekday()
hh+=a[w]
print(yy,"年",mm,"月の勤務時間:",hh,"時間 給与:",hh*a[9],"円")
この記事が気に入ったらサポートをしてみませんか?