实例004:这天第几天

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

 程序分析:计算这一天是该年的第几天,我们首先要计算出这个月之前那几个月总共有多少天,再加上该月的日期。前面几个月的天数求和中,除了2月份在年份为闰年的时候为29天,平年的时候为28天外,每个月的天数都是固定的,因此我们可以先设定一个月份天数的列表,当输入的年份是闰年时再把列表中2月的天数改为29天。

# 实例004:这天第几天
# **题目:**输入某年某月某日,判断这一天是这一年的第几天?

# 用于判断该年是否是闰年
def isLeapYear(y):
return (y % 400 == 0 or (y % 4 == 0 and y % 100 != 0))

# 定义1-11月每个月的天数
DofM = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30]

res = 0 #计算第几天

# 输入某年某月某日
year = int(input('Year:'))
month = int(input('Month:'))
day = int(input('day:'))

if isLeapYear(year): # 如果是闰年 则2月为29天
DofM[2] = 29

for i in range(month): # 计算month之前的总天数
res += DofM[i]

# 这一年的第几天 是 month之前的总天数+这个月的天数day
print(res + day)

 结果如下:

实例004:这天第几天 输入某年某月某日,判断这一天是这一年的第几天?_python