(python)输入某年某月某日,判断这一天是这一年的第几天?

题目输入某年某月某日,判断这一天是这一年的第几天?

此题的关键在于判断闰年和平年:
闰年二月为29天,平年二月为28天!
如果年份能被4整除且不能被100整除的,或者能被400整除的为闰年,其余为平年!

代码如下

x=input("please enter the date:(such as:2020.2.1 )")
a,b,c=x.split(".")
a=int(a)
b=int(b)
c=int(c)
d=[0,31,28,31,30,31,30,31,31,30,31,30,31]
sum=0
if a%4==0 and a%100!=0 or a%400==0:#为闰年,二月为29
    d[2]=29
    for i in range(b):
        sum+=d[i]
    print("The day is ",sum+c)
else:
    d[2]=28
    for i in range(b):
        sum+=d[i]
    print("The day is ",sum+c)

解释如下:

1:因为input()输入的是字符串,我们需要对它进行类型转换:如a=int(a)转换为整型
2:以数组的形式对月份排列:d=[0,31,28,31,30,31,30,31,31,30,31,30,31]
3:用for循环对月份的天数进行相加:for i in range(b): sum+=d[i]
4:最后再加上天数等于总天数:sum+c

就这样啦!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44797539/article/details/104140111