Python------天干地支紀年及星座計算

干支是天干,地支的合稱,乾和支組合後用於紀年。 
就是將十天干和十二地支按順序搭配組合成干支,用於紀年. 
把干支順序相配正好六十爲一週,週而復始,循環記錄,永無止盡。

十大天干:甲 乙 丙 丁 戊 己 庚 辛 壬 癸 
十二地支:子(鼠) 醜(牛) 寅(虎) 卯(兔) 辰(龍) 巳(蛇) 午(馬) 未(羊) 申(猴) 酉(雞) 戌(狗) 亥(豬)

十大天干、十二地支對應編號.如下: 
甲 乙 丙 丁 戊 己 庚 辛 壬 癸 
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: 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章