Python学习(13)---4月11日打卡

1、2.0

Python学习(13)---4月11日打卡

Python学习(13)---4月11日打卡

Python学习(13)---4月11日打卡

"""
判断日期是一年中的第几天
"""
from datetime  import  datetime

def is_leap_year(year):
    """
    判断year是否为闰年
    是:返回true
    否:返回false
    """
    is_leap=False
    if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
        is_leap=True
    return is_leap
def  main():
    """
    主函数
    """
    input_date_str=input('请输入日期(yyyy/mm/dd):')
    input_date=datetime.strptime(input_date_str,'%Y/%m/%d')
    print(input_date)

    year=input_date.year
    month=input_date.month
    day=input_date.day

    #计算之前月份天数的总和以及当前月份天数
    days_in_month_list=[31,28,31,30,31,30,31,31,30,31,30,31]
    if is_leap_year(year):
        days_in_month_list[1]=29
    days=sum(days_in_month_list[:month-1])+day
    print('这是{}年的第{}天'.format(year,days))
if __name__ == '__main__':
    main()

2、

Python学习(13)---4月11日打卡

Python学习(13)---4月11日打卡

"""
判断日期是一年中的第几天
"""
from datetime  import  datetime

def is_leap_year(year):
    """
    判断year是否为闰年
    是:返回true
    否:返回false
    """
    is_leap=False
    if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
        is_leap=True
    return is_leap
def  main():
    """
    主函数
    """
    input_date_str=input('请输入日期(yyyy/mm/dd):')
    input_date=datetime.strptime(input_date_str,'%Y/%m/%d')
    # print(input_date)

    year=input_date.year
    month=input_date.month
    day=input_date.day

    #包含三十天的月份集合
    _30_days_month_set={4,6,9,11}
    _31_days_month_set={1,3,5,7,8,10,12}

    #初始化值
    days=0
    days+=day
    for i in range(1,month):
        if i in _30_days_month_set:
            days+=30
        elif i in _31_days_month_set:
            days+=31
        else:
            days+=28
    if is_leap_year(year) and month>2:
        days+=1
    print('这是{}年的第{}天'.format(year,days))
if __name__ == '__main__':
    main()