"""#30 1本目 骨格 改稿1 本論2の★(計算検証役 2026-10-01):月の差(平均の人=2015年度末 145,305円・既裁定・厚年の割合6割)を3つに分けた円と、11回の回数。 分け方は旧版(alt_decompose.py)と同じ:各年の差 r−p を ①物価と使われた賃金の差 ②調整 ③据え置き に分け、対数の按分で差を3つに。 R8 の率は 厚年の割合6割で 0.4×1.9+0.6×2.0=1.96%(調整の小さい分は②に入る)。alt=0=実際に差し引いた調整だけ、alt=1=2016年度に差し引かれなかった調整0.7も②に数える。""" src = open("alt_decompose.py", encoding="utf-8").read().split("for alt, name in")[0] exec(src) T[:] = [t if t[0] != "R8" else ("R8", t[1], t[2], t[3], t[4], t[5], 1.96) for t in T] S = 145305 for alt, nm in ((0, "①実際に差し引いた調整だけ"), (1, "②2016年度の調整0.7も数える")): pc, rc, res, lg = run(1, alt); d = pc - rc; yen = [S * x / 100 for x in lg] print(f"\n## {nm}:物価累積 {pc:.3f}%・改定率累積 {rc:.3f}%・差 {d:.3f}pt → 月の差 {S*d/100:,.1f}円") for k, n in enumerate(("①物価と使われた賃金の差", "②調整", "③据え置き")): v = [r[k] * S / 100 for r in res.values()] print(f" {n}:{lg[k]:.3f}pt={yen[k]:,.0f}円(順番6通り {min(v):,.0f}〜{max(v):,.0f}円)割合 {lg[k]/d*100:.1f}%") print(f" 3つの円の和 {sum(yen):,.1f}円/丸めた円の和 {sum(round(x) for x in yen):,}円") print("\n## 回数(年表・既裁定)") Y = [("H28",0.8,0.0,-0.2,"据"),("H29",-0.1,-0.1,-1.1,"物価"),("H30",0.5,0.0,-0.4,"据"),("R1",1.0,0.1,0.6,"賃金"),("R2",0.5,0.2,0.3,"賃金"),("R3",0.0,-0.1,-0.1,"賃金"), ("R4",-0.2,-0.4,-0.4,"賃金"),("R5",2.5,1.9,2.8,"物価"),("R6",3.2,2.7,3.1,"賃金"),("R7",2.7,1.9,2.3,"賃金"),("R8",3.2,1.9,2.1,"賃金")] for k in ("賃金", "物価", "据"): print(f"決め手が{k}:", [y[0] for y in Y if y[4] == k]) print("賃金<物価:", [y[0] for y in Y if y[3] < y[1]], len([y for y in Y if y[3] < y[1]])) print("改定率(既裁定)<物価:", [y[0] for y in Y if y[2] < y[1]], len([y for y in Y if y[2] < y[1]]), "/等しい:", [y[0] for y in Y if y[2] == y[1]]) print("①が負(使われた賃金が物価より低い)の年:", [y[0] for y in Y if y[4] == "賃金" and y[3] < y[1]]) print("②が効いた年(適用された調整>0):R1・R2・R5・R6・R7・R8(年表の「発動」6回)/③=H28・H30")