题目
输入某年某月某日,判断这一天是这一年的第几天?
解法1
程序分析
1、以5月2日为例,应该先把前四个月的加起来,
2、然后再加上2天即本年的第几天,
3、特殊情况,闰年且输入月份大于2时需考虑多加一天:
4、闰年
- 1、年份能被4整除;
- 2、年份若是 100 的整数倍的话需被400整除,否则是平年。
程序源代码:
year = int(input('year:\n'))
month = int(input('month:\n'))
day = int(input('day:\n'))
months = (0,31,59,90,120,151,181,212,243,273,304,334)
if 0 < month <= 12:
sum = months[month - 1]
else:
print ('data error')
sum += day
leap = 0
if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
leap = 1
if (leap == 1) and (month > 2):
sum += 1
print ('%d 月 %d 号是 %d 年的第 %d 天.' % (month,day,year,sum))