LoginSignup
1
0

More than 1 year has passed since last update.

こどもの日(5/5)であっても、仏滅となる年は多いのか!?

Last updated at Posted at 2022-05-21

背景

とある事情により「こどもの日(5/5)は仏滅となる事はない」というまことしやかな噂を聞き確かめたいという気持ちが芽生えた。折角なのでプログラムにより自動で求めたい気持ちが高まった。

確認

仏滅は六曜の分類の一つである。
日ごとに六曜が必ず一つ割り当てられるのて、こどもの日(5/5)の六曜を全探索する。
六曜を求めるために、以下のモジュールを使わせていただく。

fgshun/qreki_py

インストールは以下の通り

pip install git+https://github.com/fgshun/qreki_py.git@v0.5.1#egg=qreki

以下のプログラムにより1980〜2100年のこどもの日(5/5)の六曜を求めます。

test.py
from qreki import Kyureki
from datetime import date
from collections import defaultdict
dict = defaultdict(list)

#k = Kyureki.from_ymd(2022, 5, 5)
#k_str=str(k)
#print(k.rokuyou)

print("--- 各年の5/5の六曜を全て取得する")
for yy in range(1980, 2101):
    year=yy
    month=5
    day=5
    d = date(year, month, day)
    k = Kyureki.from_date(d)

    string = str(year) + str(month).zfill(2) + str(day).zfill(2)
    dict[int(string)].append(k.rokuyou)
    #print(k.rokuyou)
    print('{}, {}'.format(string, k.rokuyou))

print("--- 仏滅の年だけ取得する")
for k in dict:
    #print(dict[k][0])
    if dict[k][0] == '仏滅':
        print('{}, {}'.format(k, dict[k][0]))

print("--- 六曜の数をカウント")
dict2 = defaultdict(int)
for k in dict.values():
    dict2[k[0]]+=1
print(dict2)

実行結果(1980〜2100年の各年のこどもの日(5/5)の六曜)

$ python test.py
---
19800505, 大安
19810505, 大安
19820505, 先負
19830505, 先勝
19840505, 友引
19850505, 赤口
19860505, 大安
19870505, 大安
19880505, 仏滅
19890505, 仏滅
19900505, 友引
19910505, 大安
19920505, 赤口
19930505, 仏滅
19940505, 先負
19950505, 先負
19960505, 友引
19970505, 先勝
19980505, 先勝
19990505, 仏滅
20000505, 大安
20010505, 先負
20020505, 先勝
20030505, 友引
20040505, 先勝
20050505, 大安
20060505, 大安
20070505, 先負
20080505, 仏滅
20090505, 友引
20100505, 赤口
20110505, 赤口
20120505, 大安
20130505, 仏滅
20140505, 仏滅
20150505, 先勝
20160505, 先勝
20170505, 先勝
20180505, 仏滅
20190505, 仏滅
20200505, 仏滅
20210505, 友引
20220505, 友引
20230505, 赤口
20240505, 大安
20250505, 大安
20260505, 先負
20270505, 先勝
20280505, 友引
20290505, 赤口
20300505, 先勝
20310505, 仏滅
20320505, 仏滅
20330505, 仏滅
20340505, 先勝
20350505, 赤口
20360505, 先勝
20370505, 仏滅
20380505, 大安
20390505, 仏滅
20400505, 先負
20410505, 先負
20420505, 赤口
20430505, 仏滅
20440505, 大安
20450505, 先負
20460505, 友引
20470505, 友引
20480505, 先勝
20490505, 先勝
20500505, 大安
20510505, 先負
20520505, 仏滅
20530505, 先勝
20540505, 赤口
20550505, 赤口
20560505, 大安
20570505, 大安
20580505, 仏滅
20590505, 友引
20600505, 先負
20610505, 赤口
20620505, 仏滅
20630505, 大安
20640505, 先負
20650505, 仏滅
20660505, 先負
20670505, 赤口
20680505, 先勝
20690505, 赤口
20700505, 先負
20710505, 先負
20720505, 友引
20730505, 先勝
20740505, 先勝
20750505, 大安
20760505, 赤口
20770505, 仏滅
20780505, 友引
20790505, 友引
20800505, 赤口
20810505, 大安
20820505, 大安
20830505, 先負
20840505, 仏滅
20850505, 先負
20860505, 赤口
20870505, 赤口
20880505, 赤口
20890505, 先負
20900505, 先負
20910505, 先勝
20920505, 先勝
20930505, 先勝
20940505, 大安
20950505, 大安
20960505, 仏滅
20970505, 友引
20980505, 友引
20990505, 大安
21000505, 仏滅

そのうち、仏滅であるものを検索

--- 仏滅
19880505, 仏滅
19890505, 仏滅
19930505, 仏滅
19990505, 仏滅
20080505, 仏滅
20130505, 仏滅
20140505, 仏滅
20180505, 仏滅
20190505, 仏滅
20200505, 仏滅
20310505, 仏滅
20320505, 仏滅
20330505, 仏滅
20370505, 仏滅
20390505, 仏滅
20430505, 仏滅
20520505, 仏滅
20580505, 仏滅
20620505, 仏滅
20650505, 仏滅
20770505, 仏滅
20840505, 仏滅
20960505, 仏滅
21000505, 仏滅

六曜の数をカウント(コメントありがとうございます!)

defaultdict(<class 'int'>, {'大安': 23, '先負': 19, '先勝': 21, '友引': 16, '赤口': 18, '仏滅': 24})

こどもの日(5/5)であっても、仏滅となる年は割と多い!
噂はただの噂だったかも、、

以上です

参考

旧暦や六曜など日付に関する情報を取得できるAPIを作ってみた
fgshun/qreki_py

1
0
4

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
0