莉雁ケエ縺ョ縲�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縺ー縲√■繧�≧縺ゥ縺�>縲�
繧ゅ▲縺ィ繧ゅ◎繧後∪縺ァ蟷ウ蝮�、ェ髯ス譌・縺檎樟蝨ィ縺ョ縺セ縺セ縺ィ縺�≧縺薙→縺ッ縺ェ縺��縺ァ縺薙�繝ォ繝シ繝ォ繧ゅ≠縺セ繧頑э蜻ウ縺ッ縺ェ縺�□繧阪≧縲�