zoukankan      html  css  js  c++  java
  • 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,"天")
    
    

    如代码有问题,可以私聊

  • 相关阅读:
    在linux上安装python, jupyter, 虚拟环境(virtualenv)以及 虚拟环境管理之virtualenvwraper
    linux
    Django ORM那些相关操作
    Django 中 form 介绍
    MySQL完整性约束
    git入门
    MySQL表的操作
    努力努力再努力
    Docker初始
    IO模型
  • 原文地址:https://www.cnblogs.com/HBU-xuhaiyang/p/12776012.html
Copyright © 2011-2022 走看看