python 编程实现输入某年某月某日,输出它是这一年的第几天

时间:2024-10-09 07:40:57

问题:python 编程实现输入某年某月某日,输出它是这一年的第几天?

解题思路:

1、判断该年份是闰年还是平年,用 if 分支计算。

2、不同月份的计算:大月,小月,二月,考虑用while循环。

一月    天数=某日

二月    天数=某日+31

三月    天数=某日+31+二月

四月    天数=某日+31+二月+31

五月    天数=某日+31+二月+31+30

......

 

def a_1(a, b, c):
    i=1   #“输入月份”之前的月份(因为一月之前没有月份,直接从计算天数)
    n=0  #当月之前的整月天数累加
    while i<b:   
        i+=1
        if i in(2,4,6,8,9,11):  #计算大月
            n+=31
        elif i==3:    #计算2月
            if a % 4 == 0 and a % 100 != 0 or a % 400 == 0:    #闰年判断
                n+=29
            else:
                n+=28
        else:    #计算小月
            n+=30
    c+=n         #计算总天数
    return c
    
aa=int(input("请输入年"))                         
bb=int(input("请输入月"))                         
cc=int(input("请输入日"))                         
n=a_1(aa,bb,cc)                               
print('{}年{}月{}日是该年的第{}天'.format(aa,bb,cc,n))