PROGRAM PYTHON

Pythonスクリプト【十干十二支を表示する】

 

十干十二支を表示しよう

今回は西暦を入力して、その年の十干十二支を表示するプログラムを作りましょう。
十干十二支(じっかんじゅうにし)とは、十干と十二支を組み合わせた60周期で年を表す数詞です。
例えば、甲子園の「甲子」や壬申の乱の「壬申」が十干十二支です。
本来は十干十二支を組み合わせて干支(えと)と呼びますが、近年では十二支だけでも干支といったりします。
十干と十二支の一覧は、以下の通りです。

十干(じっかん)
zodiac1

十二支(じゅうにし)
zodiac2

十干と十二支の組み合わせは全部で60通りあり、読み方は陰陽五行説(木火土金水)が合わさって分かりづらいのですが、例えば「甲」と「乙」は「きの」までが同じで「甲」が兄を表す「え」、「乙」が弟を表す「と」となり、「甲」は「きのえ」、「乙」は「きのと」と読みます。
それに十二支を合わせて「甲子」で「きのえね」、「乙丑」で「きのとうし」となります。
同じように「丙寅」で「ひのえとら」、「丁卯」で「ひのとう」、そして60番目の「癸亥」(みずのとい)で終わりです。
「癸亥」の次は「甲子」に戻り、これを還暦と呼びます。
以下は、干支の読み方の一部です。

zodiac3

 

西暦から十干十二支を表示するプログラム

引数に西暦の4桁の数字を渡して、それを元に十干十二支を求めて画面に表示します。
西暦を10で割った余りの数で十干、西暦を12で割った余りの数で十二支が分かります
このことから、余りの数をキーとした辞書を作れば、簡単に西暦からその年の十干十二支を求めることができます。
直近では1984年が「甲子」なので、1984を10で割った余りも12で割った余りも4なので、「甲」と「子」のキーを4にします。
同様に、「乙」と「丑」のキーは5、「丙」と「寅」のキーは6のように割り振ります。
なお、引数の西暦は複数指定できるようにしてあります。

プログラムを実行すると、引数で渡した西暦とその年の十干十二支が表示されます。

 実行例
C:\>python zodiac1-1.py 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995
1984 甲子
1985 乙丑
1986 丙寅
1987 丁卯
1988 戊辰
1989 己巳
1990 庚午
1991 辛未
1992 壬申
1993 癸酉
1994 甲戌
1995 乙亥

 

-PROGRAM, PYTHON