首先,是一些文化常識
(好多人把癸(guǐ)錯讀成kuí;把寅(yín)錯讀成yǎn?)
十 天干:
甲(jiǎ)、乙(yǐ)、丙(bǐng)、丁(dīng)、戊(wù)、己(jǐ)、庚(gēng)、辛(xīn)、壬(rén)、癸(guǐ)。
十二 地支:
子(zǐ)、醜(chǒu)、寅(yín)、卯(mǎo)、辰(chén)、巳(sì)、午(wǔ)、未(wèi)、申(shēn)、酉(yǒu)、戌(xū)、亥(hài)。
十二地支對應十二生肖:
子-鼠,醜-牛,寅-虎,卯-兔,辰-龍,巳-蛇, 午-馬,未-羊,申-猴,酉-雞,戌-狗,亥-豬。
接下來是真正起作用的部分啦
天干:用年份除以10,得到的餘數相對應的便是天干
地支:用年份除以12,得到的餘數相對應的便是地支
星座:
a = ["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"]#天干,列表
#a="甲乙丙丁戊己庚辛壬癸"#這樣也正確,字符串
b = ["子","醜","寅","卯","辰","巳","午","未","申","酉","戌","亥"]#地支
c = ["鼠","牛","虎","兔","龍","蛇","馬","羊","猴","雞","狗","豬"]#屬相
d = ["水瓶座","雙魚座","白羊座","金牛座","雙子座","巨蟹座",
"獅子座","處女座","天秤座","天蠍座","射手座","摩羯座"]#星座
birthstr=input("請輸入出生日期(格式樣例:2000/01/01)")
year=int(birthstr[0:4])
mon=int(birthstr[5:7])
day=int(birthstr[8:10])
tiangan = a[(year-3)%10-1]#天干
dizhi = b[(year-3)%12-1] #地支
shuxiang = c[(year-3)%12-1]#屬相
#星座
if(mon==3 and day>=21)or(mon==4 and day<=19) :
num=3
elif(mon==4 and day>=20)or(mon==5 and day<=20):
num=4
elif(mon==5 and day>=21)or(mon==6 and day<=21):
num=5
elif(mon==6 and day>=22)or(mon==7 and day<=22):
num=6
elif(mon==7 and day>=23)or(mon==8 and day<=22):
num=7
elif(mon==8 and day>=23)or(mon==9 and day<=22):
num=8
elif(mon==9 and day>=23)or(mon==10 and day<=23):
num=9
elif(mon==10 and day>=24)or(mon==11 and day<=22):
num=10
elif(mon==11 and day>=23)or(mon==12 and day<=21):
num=11
elif(mon==12 and day>=22)or(mon==1 and day<=19):
num=12
elif(mon==1 and day>=20)or(mon==2 and day<=18):
num=1
else:
num=2
xingzuo=d[num-1]
print("您出生於{}{}年,屬{},你的星座爲{}。".format(tiangan,dizhi,shuxiang,xingzuo))