莉雁ケエ縺ョ縲�13譌・縺ョ驥第屆譌・縲阪�菴募屓�� ============================== .. container:: 窶� 縺ゅk縺��縲∝ヵ縺後�13譌・縺ョ驥第屆譌・縲阪↓縺、縺�※遏・縺」縺ヲ縺�k2縲�3縺ョ縺薙→ 窶� 縺セ縺溘�13譌・縺ョ驥第屆譌・縲阪′繧�▲縺ヲ縺上k縲� ---------------------------------- 2015蟷エ縺ョ縺ゅk譌・縲∵ャ。縺ョ謇薙■蜷医o縺帙�遒コ隱阪〒繧ォ繝ャ繝ウ繝繝シ繧堤惻繧√k縺ィ縲√◎縺ョ譌・縺後�13譌・縺ョ驥第屆譌・縲阪↓縺ェ繧九%縺ィ縺ォ豌励′縺、縺�◆縲� 縺ェ繧薙□縺九▽縺�%縺ョ髢薙�謇薙■蜷医o縺帙b縲�13譌・縺ョ驥第屆譌・縲阪□縺」縺溘h縺�′豌励′縺吶k縲� 縺ェ縺懊□繧阪≧縺ィ豌励↓縺ェ縺」縺溘�縺ァ縲√■繧�▲縺ィ隱ソ縺ケ縺ヲ縺ソ繧医≧縺ィPython縺ョNotebook繧帝幕縺�※縺ソ縺溘� python繝励Ο繧ー繝ゥ繝�繧偵▽縺九▲縺ヲ縲�13譌・縲阪�驥第屆譌・縺ッ莉悶�譖懈律縺ォ豈斐∋縺ヲ螟壹>縺ョ縺句ー代↑縺��縺具シ溘r隱ソ縺ケ縺ヲ縺ソ繧九� ---------------------------------------------------------------------------------------------- 謇句ァ九a縺ォ縲≫昴�13譌・縺ョ驥第屆譌・縲阪′莉悶�譖懈律縺ォ豈斐∋螟壹>縺ィ縺九∝ー代↑縺�→縺九>縺�%縺ィ縺後≠繧九�縺具シ溪� 繧堤「コ縺九a縺ヲ縺ソ繧九%縺ィ縺九i蛻昴a縺ヲ縺ソ繧医≧縲� 縺セ縺壹�縲√>縺、繧ゅ�縺翫∪縺倥↑縺�→縲∵律莉倥ョ繝シ繧ソ繧貞叙繧頑桶縺�◆繧√�\ ``datetime``\ 繝「繧ク繝・繝シ繝ォ繧偵う繝ウ繝昴�繝医@縺ヲ縺翫%縺�� .. code:: ipython3 #!python #-*- coding:utf-8 -*- # python2/python3縺ョ莠呈鋤諤ァ縺ョ縺溘a縺ォ from __future__ import print_function # 譌・莉倥ョ繝シ繧ソ繧貞叙繧頑桶縺�◆繧√�繝「繧ク繝・繝シ繝ォ繧偵う繝ウ繝昴�繝医@縺ヲ縺翫¥縲� import datetime 貅門y縺悟�譚・縺溘→縺薙m縺ァm2021蟷エ縺九i2121蟷エ縺セ縺ァ縺ョ100蟷エ髢薙↓縺ゅk豈取怦縺ョ13縺ョ譖懈律縺ョ鬆サ蠎ヲ繧呈焚縺井ク翫£縺ヲ縺ソ繧後�縺�>縺�繧阪≧縲� .. code:: ipython3 #縲譛域屆縺九i譌・譖懊�譖懈律縺ョ蜷榊燕繧貞ョ夂セゥ縺励※縺翫″縺セ縺吶� wdname_e=("mon","tue","wed","thu","fri","sat","sun") # 譌・譛ャ隱槭〒縺ョ蜷榊燕 wdname_j=(u"譛�",u"轣ォ",u"豌エ",u"譛ィ", u"驥�", u"蝨�", u"譌・") wdname=wdname_j wdcount={} #譖懈律豈弱�蝗樊焚繧定ヲ壹∴縺ヲ縺翫¥縺溘a縺ョ霎樊嶌蝙九ョ繝シ繧ソ繧堤畑諢上☆繧九� ny=100 #100蟷エ蛻�r隱ソ縺ケ縺ヲ縺ソ縺セ縺吶� for y in range(2021,2021+ny): #range(2021,2022)->(2021,2022,...,2120) for m in range(1,13,1): #range(1,13,1) -> (1,2,...,12) d=datetime.datetime(y,m,13) # y蟷エm譛�13譌・縺ョ譌・莉倥ョ繝シ繧ソ繧剃ス懈�縲� wd=d.weekday() # 縺昴�譌・縺ョ譖懈律繧貞叙繧雁�縺吶� wdcount[wd] = wdcount.get(wd,0) + 1 #wdcount縺ョkey縺詣d縺ョ繝��繧ソ縺ォ1繧貞刈縺医k縲� print("譖懈律","蝗樊焚" ) for k in range(7): # 譖懈律豈弱�逋サ蝣エ蝗樊焚繧貞魂蛻キ縺吶k縲� print (wdname[k], wdcount[k]) .. parsed-literal:: 譖懈律 蝗樊焚 譛� 171 轣ォ 172 豌エ 172 譛ィ 170 驥� 171 蝨� 172 譌・ 172 縺薙l繧峨�蜊倡エ斐↑蟷ウ蝮�、 $ 171.4= 100:raw-latex:`\times`:raw-latex:`\frac{12}{7}`$ 縺ォ荳閾エ縺励※縺�k縲� 蠖薙◆繧雁燕縺�縺代←縲∫音縺ォ13譌・縺ッ驥第屆譌・縺悟、壹>縺ィ縺九√◎縺ョ騾�→縺�≧繧上¢縺ァ縺ッ縺ェ縺�ゅ% 縺ョ蛻�ク�r譖懈律豈弱�蝗樊焚繧堤、コ縺吶ヰ繝シ繧ー繝ゥ繝輔↓縺吶l縺ー縲√o縺九j繧�☆縺�□繧阪≧縺九� 繧ー繝ゥ繝輔r譖ク縺�※縺ソ繧九� -------------------- 繧ー繝ゥ繝輔r謠上¥縺溘a縺ョ繝「繧ク繝・繝シ繝ォ縺ッ縺�¥縺、縺九≠繧九′縲√%繧後b縺�▽繧ゅ�繧医≧縺ォ\ ``matplotlib``\ 繧剃スソ縺�%縺ィ縺ォ縺吶k縲� ``matplotlib``\ 縺ョ繧オ繝悶Δ繧ク繝・繝シ繝ォ\ ``pyplot``\ 縺ッ邁。蜊倥↑繧ー繝ゥ繝輔�菴懈�縺ォ縺ッ繝斐ャ繧ソ繝ェ縺�縲� 邏ー驛ィ縺ォ縺セ縺ァ蜃昴k縺ェ繧噂 ``matplotlib``\ 縺ョ繧ェ繝悶ず繧ァ繧ッ繝医r菴ソ縺�%縺ェ縺吶%縺ィ縺ォ縺ェ繧九� .. code:: ipython3 import matplotlib.pyplot as pyplot #matplotli.pyplot 繧� pyplot縺ィ縺�≧蜷榊燕縺ァ菴ソ縺�%縺ィ縺ォ縺吶k縲� pyplot.bar(wdcount.keys(), wdcount.values(),align="center") #繝舌�繧ー繝ゥ繝輔r菴ソ縺」縺ヲ繧ー繝ゥ繝募喧縺吶k縲� # pyplot.bar(*zip(*wdcount.items()),align="center") #縺薙≧縺�≧譖ク縺肴婿繧ゅ≠繧九� pyplot.xticks(range(7), wdname_j, font="IPAexGothic") # x霆ク縺ョ繝ゥ繝吶Ν繧呈屆譌・縺ォ縺励※縺翫%縺�� pyplot.draw() .. image:: Friday13th_files/Friday13th_7_0.png 豈主ケエ縺ョ縲�13譌・縺ョ驥第屆譌・縲阪�蝗樊焚繧呈焚縺医※縺ソ繧医≧縲� -------------------------------------------- 縺薙�繧医≧縺ォ縲∵ッ主ケエ縺ョ縲�13譌・縺ョ驥第屆譌・縲阪�豈主ケエ 12/7=1.7蝗� 縺ゅk繧上¢縺�縺後�1蝗槭�蟷エ繧ゅ≠繧後�縲�2蝗槭�蟷エ繧ゅ≠繧九□繧阪≧縲� 繧ゅ≧荳蠎ヲPython 繧ケ繧ッ繝ェ繝励ヨ 繧偵▽縺九▲縺ヲ縲∵ッ主ケエ縺ョ縲�13譌・縺ョ驥第屆譌・縲阪�蝗樊焚繧呈焚縺医※遒コ縺九a縺ェ縺代l縺ー縺ェ繧峨↑縺�� .. code:: ipython3 F13inY={} #蟷エ豈弱�縲�13譌・縺ョ驥第屆譌・縲阪�蝗樊焚繧定ィ倬鹸縺吶k霎樊嶌蝙九ョ繝シ繧ソ`F13inY`繧堤畑諢上☆繧九� def count_F13inY(year): count=0 # 繧ォ繧ヲ繝ウ繧ソ count繧�0繧ッ繝ェ繧「縺吶k縲� for m in range(1,13,1): # 豈取怦縺ョ d=datetime.datetime(year,m,13) #13譌・縺� wd=d.weekday() # 譖懈律縺� if wd == 4:# 驥第屆譌・(4)縺�縺」縺溘i count +=1 # 繧ォ繧ヲ繝ウ繧ソ繧�1蠅励d縺吶� return count for y in range(2015,2115): count=count_F13inY(y) F13inY[count] = F13inY.get(count,0)+1 # 荳蟷エ縺ゅ◆繧翫�縲�13譌・縺ョ驥第屆譌・縲阪�蝗樊焚縺慶ount縺ィ縺ェ繧句ケエ謨ー繧�1蠅励d縺� for k, v in F13inY.items(): # 荳蟷エ縺ゅ◆繧翫�縲�13譌・縺ョ驥第屆譌・縲阪�蝗樊焚縺渓縺ョ縺ェ繧句ケエ謨ー繧貞魂蛻キ縺吶k縲� print (k,"occurense ", v,"times") .. parsed-literal:: 3 occurense 16 times 1 occurense 43 times 2 occurense 41 times 繝励Ο繧ー繝ュ繝ゥ繝�縺ョ邨先棡縺ァ縺ッ縲�2015-2114縺ョ100蟷エ髢薙〒縲√�13譌・縺ョ驥第屆譌・縲阪′1譌・縺励°辟。縺�ケエ縺�43蝗槭�2譌・縺ゅk蟷エ縺�42蝗槭� 縺昴@縺ヲ縺ェ繧薙→縲悟ケエ縺ォ3譌・縺ョ縲�13譌・縺ョ驥第屆譌・縲阪r謖√▽縲榊ス薙◆繧雁ケエ縺�16蝗槭≠繧九� 縺セ縺ゅ√%縺ョ蟷ウ蝮��遒コ縺九↓縲� .. code:: ipython3 (43+2*42+3*15)/100. .. parsed-literal:: 1.72 縺ィ縺ェ繧翫� 蟷ウ蝮�☆繧後�蝮�ュ峨↑遒コ邇�↓繧医k邨先棡騾壹j縺ォ縺ェ縺」縺ヲ縺ッ縺�k繧薙□縺代l縺ゥ縲� 蟷エ縺ォ3蝗槭�縲�13譌・縺ョ驥第屆譌・縲阪′縺ゅk蟷エ繧呈爾縺励※縲� ------------------------------------------- 縺昴l縺ァ縺ッ縺ィ縺薙�100蟷エ縺ョ縺�■縲�13譌・縺ョ驥第屆譌・縲阪′3蝗樊怏繧九�縺ッ縺ゥ縺ョ蟷エ縺九r隱ソ縺ケ縺ヲ縺ソ縺溘¥縺ェ繧九� 谺。縺ョ繝励Ο繧ー繝ゥ繝�繧剃スソ縺�→縲�2015-1214蟷エ縺ョ100蟷エ髢薙↓縺ッ縲� 2015, 2026, 2037, 2040, 2043, 2054, 2065, 2068, 2071, 2082, 2093, 2096, 2099, 2105, 2108, 縺昴@縺ヲ 2111 縺ョ16蝗槭〒縺ゅk縺薙→縺後o縺九k縲� 遒コ縺九↓莉雁ケエ(2015)縺ッ3蝗槭�縲�13譌・縺ョ驥第屆譌・縲阪′縺ゅk蟷エ縺ァ縲√後∪縺溘°縲阪→諤昴▲縺溘�繧ゅ◎縺ョ縺溘a縺�繧阪≧縲� 縺薙�繝励Ο繧ー繝ゥ繝�繧偵▽縺九∴縺ー縲∵ャ。縺ォ縲悟ケエ縺ォ3蝗槭�縲�13譌・縺ョ驥第屆譌・縲上阪′縺ゅk谺。縺ョ蟷エ縺後o縺九▲縺ヲ縺励∪縺�� 縺昴l縺ッ縺ェ繧薙→2026蟷エ縺�縺ィ繝励Ο繧ー繝ゥ繝�縺ッ謨吶∴縺ヲ縺上l繧九� 蠖灘�縺ッ縲後∴縺」縲√∪縺溘�13譌・縺ョ驥第屆譌・縲上阪→諢溘§繧区ァ倥↑蟷エ縺ッ蟾。縺」縺ヲ縺薙↑縺�o縺代□縲� .. code:: ipython3 years=[] for y in range(2015,2115): count=count_F13inY(y) if count >=3: print ("year",y, "has ",count, "day(s) of \"Friday 13th\"") years.append(y) print(len(years), years) .. parsed-literal:: year 2015 has 3 day(s) of "Friday 13th" year 2026 has 3 day(s) of "Friday 13th" year 2037 has 3 day(s) of "Friday 13th" year 2040 has 3 day(s) of "Friday 13th" year 2043 has 3 day(s) of "Friday 13th" year 2054 has 3 day(s) of "Friday 13th" year 2065 has 3 day(s) of "Friday 13th" year 2068 has 3 day(s) of "Friday 13th" year 2071 has 3 day(s) of "Friday 13th" year 2082 has 3 day(s) of "Friday 13th" year 2093 has 3 day(s) of "Friday 13th" year 2096 has 3 day(s) of "Friday 13th" year 2099 has 3 day(s) of "Friday 13th" year 2105 has 3 day(s) of "Friday 13th" year 2108 has 3 day(s) of "Friday 13th" year 2111 has 3 day(s) of "Friday 13th" 16 [2015, 2026, 2037, 2040, 2043, 2054, 2065, 2068, 2071, 2082, 2093, 2096, 2099, 2105, 2108, 2111] 繝励Ο繧ー繝ゥ繝�繧堤洒縺上☆繧九◆繧√↓縺薙s縺ェ譖ク縺肴婿繧ゅ〒縺阪k繧峨@縺�� .. code:: ipython3 years=[y for y in range(2015,2115) if count_F13inY(y)>=3 ] # 3蝗�(莉・荳�)縺ョ 縲�13譌・縺ョ驥第屆譌・縲阪′縺ゅk蟷エ縺ョ繝ェ繧ケ繝� for y in years: print ("year",y, "has ","more than 3 days of \"Friday 13th\"") print() print(len(years), years) .. parsed-literal:: year 2015 has more than 3 days of "Friday 13th" year 2026 has more than 3 days of "Friday 13th" year 2037 has more than 3 days of "Friday 13th" year 2040 has more than 3 days of "Friday 13th" year 2043 has more than 3 days of "Friday 13th" year 2054 has more than 3 days of "Friday 13th" year 2065 has more than 3 days of "Friday 13th" year 2068 has more than 3 days of "Friday 13th" year 2071 has more than 3 days of "Friday 13th" year 2082 has more than 3 days of "Friday 13th" year 2093 has more than 3 days of "Friday 13th" year 2096 has more than 3 days of "Friday 13th" year 2099 has more than 3 days of "Friday 13th" year 2105 has more than 3 days of "Friday 13th" year 2108 has more than 3 days of "Friday 13th" year 2111 has more than 3 days of "Friday 13th" 16 [2015, 2026, 2037, 2040, 2043, 2054, 2065, 2068, 2071, 2082, 2093, 2096, 2099, 2105, 2108, 2111] 縺薙�邨先棡繧偵h縺上∩繧九→縲�2015-2065縺セ縺ァ縺ッ縲√�13譌・縺ョ驥第屆譌・縺悟ケエ縺ォ3蝗槭≠繧句ケエ縲阪�螟ァ菴�11蟷エ縺ゅk縺��13蟷エ縺ョ髢薙r縺翫>縺ヲ迴セ縺ヲ縺�k縲� 縺励°縺�(2065,2068,2071) 縺翫h縺ウ(2093,2096, 2099) 縺ッ荳牙ケエ縺翫″縺ョ髢馴囈縺ァ窶懊�13譌・縺ョ驥第屆譌・縺悟ケエ縺ォ3蝗槭≠繧句ケエ窶昴′郢ー繧願ソ斐@縺ヲ縺�k縲� 縺薙l縺ッ驕主悉縺ョ郢ー繧願ソ斐@繧りェソ縺ケ縺ヲ縺ソ繧句ソ�ヲ√′縺ゅk縺�繧阪≧縲� .. code:: ipython3 years=[] for y in range(1915,2016): count=count_F13inY(y) if count >=3: print ("year",y, "has ",count, "day(s) of \"Friday 13th\"") years.append(y) print(len(years), years) .. parsed-literal:: year 1925 has 3 day(s) of "Friday 13th" year 1928 has 3 day(s) of "Friday 13th" year 1931 has 3 day(s) of "Friday 13th" year 1942 has 3 day(s) of "Friday 13th" year 1953 has 3 day(s) of "Friday 13th" year 1956 has 3 day(s) of "Friday 13th" year 1959 has 3 day(s) of "Friday 13th" year 1970 has 3 day(s) of "Friday 13th" year 1981 has 3 day(s) of "Friday 13th" year 1984 has 3 day(s) of "Friday 13th" year 1987 has 3 day(s) of "Friday 13th" year 1998 has 3 day(s) of "Friday 13th" year 2009 has 3 day(s) of "Friday 13th" year 2012 has 3 day(s) of "Friday 13th" year 2015 has 3 day(s) of "Friday 13th" 15 [1925, 1928, 1931, 1942, 1953, 1956, 1959, 1970, 1981, 1984, 1987, 1998, 2009, 2012, 2015] 1915-2015縺ョ髢薙〒縺ッ縲�(1925, 1928, 1931), (1953, 1956, 1959)縺翫h縺ウ(2009,2012,2015)繧ゅ御ク牙ケエ縺翫″縺ョ髢馴囈縺ァ縲�13譌・縺ョ驥第屆譌・縺悟ケエ縺ォ3蝗槭≠繧句ケエ縺檎ケー繧願ソ斐☆縲肴凾譛溘↓蠖薙◆縺」縺ヲ縺�k縺薙→縺悟愛譏弱☆繧九� 縺昴�諢丞袖縺ァ繧�2015蟷エ縺ッ縺。繧�▲縺ィ縺�縺醍音蛻・縺ェ蟷エ縺ァ縺ゅ▲縺溘o縺代□縲� 谺。縺ョ縲御ク牙ケエ縺翫″縺ョ髢馴囈縺ァ縲�13譌・縺ョ驥第屆譌・縺悟ケエ縺ォ3蝗槭≠繧句ケエ縺檎ケー繧願ソ斐☆縲肴悄髢薙�2037蟷エ繝シ2043蟷エ縺ィ縺�≧縺薙→縺ォ縺ェ繧九� 縺昴�鬆�↓縺ッ縺セ縺溘≫晄怙霑�13譌・縺ョ驥第屆譌・縺悟、壹>縺ェ窶昴→諤昴▲縺溘j縺吶k縺ョ縺�繧阪≧縺九� �育オ�) 縺翫∪縺� ------ 縲�1蟷エ髢薙↓縺ゅk13譌・縺ョ驥第屆譌・縺ョ譌・謨ー縲上�蛻�ク�� ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 繧ー繝ャ繧エ繝ェ繧ェ豁エ縺ッ400蟷エ縺ァ縺。繧�≧縺ゥ縲�1460972譌・縲�20870騾ア縺ィ縺ェ繧九�縺ァ縲∝�蟶��繝代ち繝シ繝ウ縺ッ400蟷エ縺ョ蜻ィ譛溘r謖√▽縲� 繧ゅ@縲√%縺ョ譌・謨ー縺後■繧�≧縺ゥ7縺ァ蜑イ繧雁�繧後k縺薙%縺ァ閠�∴縺ヲ縺�k繧医≧縺ェ譖懈律縺ョ郢ー繧願ソ斐@縺ッ2800蟷エ縺ョ蜻ィ譛溘r繧ゅ▲縺ヲ縺�◆縺�繧阪≧縲� 縺薙�400蟷エ縺ョ蜻ィ譛溘�髢薙↓縲�1蟷エ髢薙↓縺ゅk13譌・縺ョ驥第屆譌・縺ョ譌・謨ー縲上�蛻�ク�r繧ー繝ゥ繝輔↓縺励※縺ソ繧医≧縲� .. code:: ipython3 ## %%timeit # 螳溯。梧凾髢捺クャ螳壹�縺溘a縺ョ縺翫∪縺倥↑縺�(cell magic) ymax=401 # 478 ms ツア 7.68 ms per loop (mean ツア std. dev. of 7 runs, 1 loop each) on Intel Mac with ymax=9999 # 220 ms ツア 8.01 ms per loop (mean ツア std. dev. of 7 runs, 1 loop each) on M1 Mac with arc -x86_64 and ymax=9999 F13inY={} for y in range(1,ymax): count=count_F13inY(y) F13inY[count] = F13inY.get(count,0)+1 for k in F13inY: print (k, "occurense ", F13inY[k], "times") years=range(1,ymax) pyplot.figure(figsize=(16,9)) pyplot.bar(years,[count_F13inY(y) for y in years]) pyplot.draw() .. parsed-literal:: 2 occurense 170 times 1 occurense 171 times 3 occurense 59 times .. image:: Friday13th_files/Friday13th_21_1.png 繧ー繝ャ繧エ繝ェ繧ェ豁エ縺ァ縺ッ縲�4蟷エ縺ォ荳蝗槭≠繧矩柾蟷エ縺後�100蟷エ縺ォ荳蝗槭↑縺上↑縺」縺ヲ縺励∪縺�� 縺薙�蜉ケ譫懊r隕九k縺溘a縺ォ縲�100蟷エ豈弱↓蛹コ蛻�▲縺ヲ蛻�ク�r繝励Ο繝�ヨ縺励※縺ソ繧医≧縲� .. code:: ipython3 ny=100 years=range(1,1+ny) pyplot.figure(figsize=(20,5)) for n in range(1,401,100): pyplot.bar(years,[count_F13inY(y) for y in range(n,n+ny)]) pyplot.draw() .. image:: Friday13th_files/Friday13th_23_0.png 100蟷エ 蜷後§譖懈律繧呈戟縺、譛� ~~~~~~~~~~~~~~~~ 豈取怦縺ョ譌・謨ー縺ッ縲�柾蟷エ縺ョ2譛医r髯、縺�※縺ッ縲√>縺、繧ょ酔縺倥ょセ薙▲縺ヲ縲�1譛医�縺ゅk譌・莉倥�譖懈律縺ィ莉悶�譛医�蜷後§譌・莉倥�譖懈律縺ッ荳螳壹�髢「菫ゅ′縺ゅk縲� 髢丞ケエ縺ァ縺ッ縺ェ縺�√≠繧句ケエ縺ョ豈取怦縺ョ13譌・縺ョ譖懈律繧定ェソ縺ケ縺ヲ隕九k縲� .. code:: ipython3 y=2021;print([(i,wdname_j[datetime.date(y,i,13).weekday()]) for i in range(1,13)]) .. parsed-literal:: [(1, '豌エ'), (2, '蝨�'), (3, '蝨�'), (4, '轣ォ'), (5, '譛ィ'), (6, '譌・'), (7, '轣ォ'), (8, '驥�'), (9, '譛�'), (10, '豌エ'), (11, '蝨�'), (12, '譛�')] 縺薙�繧医≧縺ォ縲�柾蟷エ縺ァ縺ェ縺�ケエ縺ッ ツ���1譛医�10譛茨シ�, ��2譛�, 3譛�, 11譛茨シ峨� (4譛医�7譛茨シ峨� (9譛�,12譛茨シ� 縺後◎繧後◇繧悟酔縺俶屆譌・縺ォ縺ェ繧九� 2譛医′縺。繧�≧縺ゥ蝗幃ア髢難シ�28譌・縺ェ縺ョ縺ァ縲�2譛医→3譛医�1-28譌・縺ョ譖懈律縺檎ケー繧願ソ斐☆縺ョ縺ッ繧医¥繧上°繧九� .. code:: ipython3 pyplot.hist([datetime.date(y,i,13).weekday() for i in range(1,13)],bins=range(0,8)); .. parsed-literal:: (array([2., 2., 2., 1., 1., 3., 1.]), array([0, 1, 2, 3, 4, 5, 6, 7]), <BarContainer object of 7 artists>) .. image:: Friday13th_files/Friday13th_28_1.png 縺ァ縺ッ髢丞ケエ縺ォ縺ッ縺ゥ縺�↑繧九□繧阪≧縺具シ溘2譛医′29譌・縺ゅk縺ョ縺ァ縲�3譛医�譖懈律縺ッ2譛医�蜷後§譌・莉倥°繧我ク縺、繧コ繝ャ繧九�縺壹□縲� .. code:: ipython3 y=2020;print([(i,wdname_j[datetime.date(y,i,13).weekday()]) for i in range(1,13)]) .. parsed-literal:: [(1, '譛�'), (2, '譛ィ'), (3, '驥�'), (4, '譛�'), (5, '豌エ'), (6, '蝨�'), (7, '譛�'), (8, '譛ィ'), (9, '譌・'), (10, '轣ォ'), (11, '驥�'), (12, '譌・')] 縺ィ縺�≧繧上¢縺ァ縲�柾蟷エ縺ォ縺ッ縲�(1譛医�4譛�,7譛茨シ�, (2譛医�8譛茨シ�, (3譛医�11譛�), (9譛医�12譛�) 縺後◎繧後◇繧悟酔縺俶屆譌・縺ィ縺ェ繧九%繧上¢縺�縲� 縺、縺�〒縺ォ縲√←縺ョ蟷エ縺ァ繧� 3譛医→11譛医�4譛医→7譛医�9譛医→12譛医�縺昴l縺槭l,31譌・繧帝勁縺代�縲∝酔縺俶律莉倥�譌・縺ッ蜷後§譖懈律縺ィ縺ェ繧九� .. code:: ipython3 pyplot.hist([datetime.date(y,i,13).weekday() for i in range(1,13)],bins=range(0,8)); .. parsed-literal:: (array([3., 1., 1., 2., 2., 1., 2.]), array([0, 1, 2, 3, 4, 5, 6, 7]), <BarContainer object of 7 artists>) .. image:: Friday13th_files/Friday13th_32_1.png 譛蠕後↓譛医�31譌・縺ョ譖懈律縺ョ髢「菫ゅr縺ソ縺ヲ縺ソ繧九→縲� 髢丞ケエ縺ョ蟷エ縺ォ縺ッ縲� .. code:: ipython3 y=2020;print([(i,wdname_j[datetime.date(y,i,31).weekday()]) for i in (1,3,5,7,8,10,12)]) .. parsed-literal:: [(1, '驥�'), (3, '轣ォ'), (5, '譌・'), (7, '驥�'), (8, '譛�'), (10, '蝨�'), (12, '譛ィ')] 髢丞ケエ縺ァ縺ェ縺�ケエ縺ォ縺ッ縲� .. code:: ipython3 y=2021;print([(i,wdname_j[datetime.date(y,i,31).weekday()]) for i in (1,3,5,7,8,10,12)]) .. parsed-literal:: [(1, '譌・'), (3, '豌エ'), (5, '譛�'), (7, '蝨�'), (8, '轣ォ'), (10, '譌・'), (12, '驥�')] 縺ィ縺ェ繧九�縺ァ縲�31譌・縺ッ縲√朱柾蟷エ縺ォ縺ッ縲∽ク譛医→荳�怦縲√◎繧御サ・螟悶�蟷エ縺ォ縺ッ荳譛医→蜊∵怦縺悟酔縺俶屆譌・縺ィ縺ェ繧九ゅ上%縺ィ縺後o縺九k縲� 蜈キ菴鍋噪縺ォ縺ッ縲�1螟ェ髯ス蟷エ��365.24219040 - 6.15テ�10-6 T [譌・]縲ゅ◆縺�縺励ゝ縺ッ繝ヲ繝ェ繧ヲ繧ケ荳也エ謨ー.繧ー繝ャ繧エ繝ェ繧ェ證ヲ縺九i縺ョ縺壹l縺ッ10000蟷エ縺ォ3譌・蛻�洒縺�� :: >>> 365+1/4-1/100+1/400-1/3200+1/80000 365.2422 縺�縺九i縲�3200=8*400 蟷エ縺ォ荳蝗槭&繧峨↓髢丞ケエ繧呈ク帙i縺�,80000=25*3200=200*400蟷エ縺ョ蛟肴焚縺ッ髢丞ケエ縺ィ縺吶l縺ー縲√■繧�≧縺ゥ縺�>縲� 繧ゅ▲縺ィ繧ゅ◎繧後∪縺ァ蟷ウ蝮�、ェ髯ス譌・縺檎樟蝨ィ縺ョ縺セ縺セ縺ィ縺�≧縺薙→縺ッ縺ェ縺��縺ァ縺薙�繝ォ繝シ繝ォ繧ゅ≠縺セ繧頑э蜻ウ縺ッ縺ェ縺�□繧阪≧縲�