python 判断天干地支年份

# 已知1984是甲子年; 1900-1-1是星期一 。 # 输入以下格式日期"year-month-day",输出xxxx年为xx年(干支纪年), # 输出year-month-day是这一年的第几周, # year-month-day是这一年的第几天。 # 提示: find(str,i,j) i,j表示搜索的起始和终止位置,包含j # 甲、乙、丙、丁、戊、己、庚、辛、壬、癸 # 子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥 # 注意判断平年闰年,闰年是366天 RiQi = input("输入以下格式日期\"year-month-day\":") Tiangan = ['甲','乙','丙','丁','戊','己','庚','辛','壬','癸'] Dizhi = ['子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥'] pingnian = [31,28,31,30,31,30,31,31,30,31,30,31] runnian = [31,29,31,30,31,30,31,31,30,31,30,31] # 确认年月份 year = int(RiQi[0:4]) temp1 = RiQi.find('-') temp2 = RiQi.rfind('-') month = int(RiQi[5:temp2]) day = int(RiQi[temp2+1:]) # 年 i = (year-1984)%10 j = (year-1984)%12 Now = Tiangan[i]+Dizhi[j] # 日 Day = 0 RunNian = ((year%4==0 and year%100!=0) or year%400==0) #判断是否是闰年 if RunNian: # 闰年 for i in runnian[0:month-1]: # 注意索引从0开始,所以month-1 Day = Day + i else: # 平年 for i in pingnian[0:month-1]: Day = Day + i Day = Day + day # 周 if Day%7==0: Week = Day//7 else: Week = Day//7+1 # 记得进一 # 输出 print(RiQi[0:4],"年为",Now,"年") print(RiQi,"是这一年的第",Week,"周") print(RiQi,"是这一年的第",Day,"天")

如代码有问题,可以私聊


__EOF__

本文作者坤舆小菜鸡
本文链接https://www.cnblogs.com/HBU-xuhaiyang/p/12776012.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   坤舆小菜鸡  阅读(669)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示