干支是天干,地支的合稱,乾和支組合後用於紀年。
就是將十天干和十二地支按順序搭配組合成干支,用於紀年.
把干支順序相配正好六十爲一週,週而復始,循環記錄,永無止盡。
十大天干:甲 乙 丙 丁 戊 己 庚 辛 壬 癸
十二地支:子(鼠) 醜(牛) 寅(虎) 卯(兔) 辰(龍) 巳(蛇) 午(馬) 未(羊) 申(猴) 酉(雞) 戌(狗) 亥(豬)
十大天干、十二地支對應編號.如下:
甲 乙 丙 丁 戊 己 庚 辛 壬 癸
4 5 6 7 8 9 0 1 2 3
子 醜 寅 卯 辰 巳 午 未 申 酉 戌 亥
4 5 6 7 8 9 10 11 0 1 2 3
把天干和地支兩者組合在一起就是相應年份的干支紀年法表示:如2018年干支紀年法表示便是”戊戌“是狗年.
附上代碼:
# 天干地支紀年法計算你的出生日期:
import string
Tiangan = ["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"]
Dizhi = ["子","醜","寅","卯","辰","巳","午","未","申","酉","戌","亥"]
Shu = ["鼠","牛","虎","兔","龍","蛇","馬","羊","猴","雞","狗","豬"]
birthday = input("請輸入您的出生年月日(格式爲:xx.xx.xx):")
print("\n")
bir = birthday.split(".")
#print(bir)
year = int(bir[0])
month = int(bir[1])
day = int(bir[2])
#print(year,month,day)
def CalTiangan():
tian = (year + 7)%10
T = Tiangan[tian-1]
return T
def CalDizhi():
di = (year + 9)%12
D = Dizhi[di-1]
return D
def CalXingzuo():
if month==1 :
if day<=19:
xing = "摩羯座"
else:
xing = "水瓶座"
if month==2:
if day<=18:
xing = "水瓶座"
else:
xing = "雙魚座"
if month==3:
if day<=20:
xing = "雙魚座"
else:
xing = "白羊座"
if month==4:
if day<=19:
xing = "白羊座"
else:
xing = "金牛座"
if month==5:
if day<=20:
xing = "金牛座"
else:
xing = "雙子座"
if month==6:
if day<=21:
xing = "雙子座"
else:
xing = "巨蟹座"
if month==7:
if day<=22:
xing = "巨蟹座"
else:
xing = "獅子座"
if month==8:
if day<=22:
xing = "獅子座"
else:
xing = "處女座"
if month==9:
if day<=22:
xing = "處女座"
else:
xing = "天枰座"
if month==10:
if day<=23:
xing = "天枰座"
else:
xing = "天蠍座"
if month==11:
if day<=22:
xing = "天蠍座"
else:
xing = "射手座"
if month==12:
if day<=21:
xing = "射手座"
else:
xing = "摩羯座"
return xing
def CalShu():
shu = (year + 9) % 12
S = Shu[shu - 1]
return S
a = CalTiangan()
b = CalDizhi()
c = CalXingzuo()
d = CalShu()
print("您出生於{}{}年,屬{},你的星座爲{}。".format(a,b,d,c))
例如,輸入2018.8.8: