题目:输入某年某月某日,判断这一天是这一年的第几天?
程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于2时需考虑多加一天
方法一:
# -*- coding:utf-8 -*-
year = int(raw_input('year:'))
month = int(raw_input('month:'))
day = int(raw_input('day:'))
months = (0,31,56,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 'it is the %dth day in this year.' % sum
方法二:
# -*- coding:utf-8 -*-
import time
input_time = raw_input("请输入年份,格式如2017-08-30:")
num = time.strptime(input_time, '%Y-%m-%d').tm_yday
print "the {} day of this year!" .format(num)