python 写天干地支

"""
 天干名称   甲   乙   丙   丁   戊   己   庚   辛   壬   癸


 天干序号   1    2    3    4    5    6    7    8    9    0
 
 地支名称:子  丑  寅  卯  辰  巳  午  未  申  酉   戌  亥


 地支序号:1   2   3   4   5   6   7   8   9   10  11  12
 天干计算 对10取余 ,余数 -3 既是 对应的 天干顺序 
 如果 为负数 +10 
  地支计算 对12 取余 ,余数+9 既是 对应的 地支顺序
  如果为 大于12 -12 
"""

def tiangan(n):
ge=int(n%10)
#print('ge',ge)
tt=ge-3
#print(tt)
if 6>=tt>=1:
if tt==1:
tiangan='甲'
elif tt==2:
tiangan='乙'
elif tt==3:
tiangan='丙'
elif tt==4:
tiangan='丁'
elif tt==5:
tiangan='戊'
elif tt==6:
tiangan='己'

else:
tt+=10
if tt==7:
tiangan='庚'
elif tt==8:
tiangan='辛'
elif tt==9:
tiangan='壬'
elif tt==10:
tiangan='癸'
return tiangan


def dizhi(n):

di= n%12
di+=9
#print(di,'di')
if 12>= di>=9:
if di==9:
dizhi='申'
shuxiang='候'
elif di==10:
dizhi='酉'
shuxiang='鸡'
elif di==11:
dizhi='戌'
shuxiang='狗'
elif di==12:
dizhi='亥'
shuxiang='猪'
else:
di-=12
if di==1:
dizhi='子'
shuxiang='鼠'
elif di==2:
dizhi='丑'
shuxiang='牛'
elif di==3:
dizhi='寅'
shuxiang='虎'
elif di==4:
dizhi='卯'
shuxiang='兔'
elif di==5:
dizhi='辰'
shuxiang='龙'
elif di==6:
dizhi='巳'
shuxiang='蛇'
elif di==7:
dizhi='戊'
shuxiang='马'
elif di==8:
dizhi='未'
shuxiang='羊'
return dizhi ,shuxiang
return shuxiang


def month():
mo=int(input('输入阴历月份:'))
o=tiangan(n)
if o=='甲'or o=='己':
if mo==1:
yue='丙寅'
elif mo==2:
yue='丁卯'
elif mo==3:
yue='戊辰'
elif mo==4:
yue='己巳'
elif mo==5:
yue='庚午'
elif mo==6:
yue='辛未'
elif mo==7:
yue='壬申'
elif mo==8:
yue=='癸酉'
elif mo==9:
yue='甲戌'
elif mo==10:
yue='乙亥'
elif mo==11:
yue='丙子'
elif mo==12:
yue='丁丑'
elif o=='乙'or o=='庚':
if mo==1:
yue='戊寅'
elif mo==2:
yue='己卯'
elif mo==3:
yue='庚辰'
elif mo==4:
yue='辛巳'
elif mo==5:
yue='壬午'
elif mo==6:
yue='癸未'
elif mo==7:
yue='甲申'
elif mo==8:
yue=='乙酉'
elif mo==9:
yue='丙戌'
elif mo==10:
yue='丁亥'
elif mo==11:
yue='戊子'
elif mo==12:
yue='己丑'
elif o=='丙'or o=='辛':
if mo==1:
yue='庚寅'
elif mo==2:
yue='辛卯'
elif mo==3:
yue='壬辰'
elif mo==4:
yue='癸巳'
elif mo==5:
yue='甲午'
elif mo==6:
yue='乙未'
elif mo==7:
yue='丙申'
elif mo==8:
yue=='丁酉'
elif mo==9:
yue='戊戌'
elif mo==10:
yue='己亥'
elif mo==11:
yue='庚子'
elif mo==12:
yue='辛丑'
elif o=='丁'or o=='壬':
if mo==1:
yue='壬寅'
elif mo==2:
yue='癸卯'
elif mo==3:
yue='甲辰'
elif mo==4:
yue='乙巳'
elif mo==5:
yue='丙午'
elif mo==6:
yue='丁未'
elif mo==7:
yue='戊申'
elif mo==8:
yue=='己酉'
elif mo==9:
yue='庚戌'
elif mo==10:
yue='辛亥'
elif mo==11:
yue='壬子'
elif mo==12:
yue='癸丑'
elif o=='戊'or o=='癸':
if mo==1:
yue='甲寅'
elif mo==2:
yue='乙卯'
elif mo==3:
yue='丙辰'
elif mo==4:
yue='丁巳'
elif mo==5:
yue='戊午'
elif mo==6:
yue='己未'
elif mo==7:
yue='庚申'
elif mo==8:
yue=='辛酉'
elif mo==9:
yue='壬戌'
elif mo==10:
yue='癸亥'
elif mo==11:
yue='甲子'
elif mo==12:
yue='乙丑'
return yue

if  __name__=='__main__':
n=int(input('输入阴历年:'))
a=tiangan(n)
l,z=dizhi(n)
print(a,l,'年',z)
b=month()
print(b,'月')


  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值