FragileSky - 別館 -

本館は消滅しました。

利子計算と利子の付け方

CCSアドベントカレンダー†裏†

 この記事はCCSアドベントカレンダー†裏†の14日目の記事です.

 13日目は抹茶さん 【雑記】1053の独り歩き【1053Twitterまとめ?】 雑記です.みんな大好き1053についての公式アナウンス(多分)です.

 15日目は……制作のエトセトラ……?

 2018表7日目も寄稿しています.

 べっ,別に情報系サークル所属だからPythonぶん回そうとしたわけじゃないんだからねっ!
 遅刻しましたごめんなさい!

0.Pythonの教科書

 私の学部には1年の前期にそれぞれ特徴あるゼミに20人弱ずつ分属して課題をこなすゼミがあります(上級生のゼミはまた別にあります).私の所属していた某経済学ゼミは数学やプログラミングが得意な先生が担任でしたから,Pythonの教科書を渡されてプログラミングを勉強しながら大学生活に馴染んでいきましょうといったスタンスで開催されていました.

 ちなみに使っていたのはこれです.多分A5と思われるのでB5のミクロ経済学の鈍器*1よりはまだ取り回しも便利な鈍器です.どれくらい鈍器かというと,全体で推定600ページ弱で,中々に鞄に入れるのが億劫になるくらいです.
books.rakuten.co.jp

 今回はPythonのリハビリがてら書いた預金の元利合計計算用プログラム?(預金じゃなくても使えます)を晒しつつ定期預金の利子の付き方を少しだけ解説します.

1.全体のソース

 まずは今回書いたソースです.粗くても気にしない.冗長でも気にしない.気にしない気にしない.
 計算に必要な数字を受け取って利子を計算した後にその結果を吐き出すものです.

print("元利合計を計算します.モードを選択してください.(単利は0,1年複利は1,半年複利は2)")
mode=input() #モードは数字で指定する
mode=int(mode)
print("元本を入力してください. (小数も可)") #元本
gankin=input()
gankin=float(gankin)
print("年利率(%)を入力してください.(小数も可)") #年利率
nenri=input()
nenri=float(nenri)
print("預入年数を入力してください.(小数も可)") #預入期間
kikan=input()
kikan=float(kikan)
if mode==0: #計算
    modename="単利"
    kekka=gankin*(1+(nenri*0.01*kikan))
elif mode==1:
    modename="1年複利"
    kekka=gankin*((1+(nenri*0.01))**kikan)
elif mode==2:
    modename="半年複利"
    kekka=gankin*((1+(nenri*0.01*0.5))**(kikan*2))
kekka=int(kekka) #1円未満の切り捨て
nattax=int((kekka-gankin)*0.15315) #国税15.315%
loctax=int((kekka-gankin)*0.05) #地方税5%
aftertax=int(kekka-nattax-loctax)
print("結果は以下の通りです.")
print("税引き前:"+str(kekka)+"円\n税引き後:"+str(aftertax)+"円\n税額:"+str(nattax+loctax)+"円\nモード:"+modename+"\n元本:"+str(gankin)+"円\n年利率:"+str(nenri)+"%\n期間:"+str(kikan)+"年")
endflag=input()

2.利子の付け方

 まず,利子の計算法には単利と複利があります.単利は最初の元本のみに利子が付く方法,複利は付いた利子を順次元本に組み入れて利子を計算していく方法です.借金だと単利で,預金だと単利と複利どちらもあるそうです.*2嘘か真かは定かではないですが,かの理論物理学アインシュタインが「人類最大の発見」「宇宙で最強の力」と評したと言われるのが複利というものです.借財に適用するとビル・ゲイツですら破産する程の破壊力を持つとも言われています(バイバインの方だったかもしれない).預金にしても利子に利子が付くほど現代の預金金利は良い訳ではないので実質単利と言ってもいいのではと思わなくもないですが.

 それはそうとして,複利等比数列ができない経済学徒を虐めてくれる諸悪の根源だと思います.

3.利子には税金がかかる

 自分で計算した時の結果と実際に貰った時で利子が違っている場合はないでしょうか.ついでに銀行で定期預金を作る時に表示される見込み利子額も毎度違っています.銀行にお金を預けて得た利子は受け取る前に銀行側で税金を納めたうえで預金者に払われるからこうなります.これを,源泉分離課税といいます.大雑把に言うと,確定申告も何もする必要はないからみんな等しく20%の税金を納めてください,ということです.平成49年か39年までは時限立法で20.315%になっています.

 この源泉分離課税国税15.315%と地方税5%で構成されています.計算はそれぞれでします.1円未満は切り捨て.なので,税金が1円だけ取られている,という場合は国税だけが徴収されています.

4.姉妹作もある

・2倍にするのにかかる年数を半年複利で計算するもの.
 メガバンク普通預金金利とか入れると人体の神秘が垣間見えます.

print("2倍にするのにかかる期間を計算します.") #I am Eigo muri!
print("年利(%)を入力してください.")
nenri=input()
nenri=float(nenri)
keisuu=nenri/200
keisuu+=1
kekka=100000000
nensuu=0
while kekka<200000000:
    kekka*=keisuu
    nensuu+=1
print(+str(float(nensuu/2))+"年です.")

・いくらまでなら源泉徴収されないかを計算するもの.
 複利も年数も考慮する機能がないのでこれだけは使いどころを見出せません.

print("年利(%)を入力してください.")
nenri=input()
nenri=float(nenri)
gankin=1 #define gankin
nat_tax=0 #national-tax is 15.315% today (maybe until 49th year of heisei).
while nat_tax<1:
    rishi=gankin*(nenri/100)
    nat_tax=rishi*0.15315
    if nat_tax>1:
        break
    gankin+=1
print(str(gankin))