问题描述:
输入某年某月某日,判断这一天是这一年的第几天?
Demo:
输入的日期为2017/03/05,是2017年的第几天?
输入的日期为2012/03/05,是2012年的第几天?
分析:
闰年与平年的2月份天数不同
闰年判断:
四年一闰且百年不闰
或四百年再闰
from datetime import datetime
def main():
input_date=input('输入日期(yyyy-mm-dd):')
input_date_c=datetime.strptime(input_date,'%Y-%m-%d')#格式化
year=input_date_c.year
month=input_date_c.month
day=input_date_c.day
every_month_day=(31,28,31,30,31,30,31,31,30,31,30,31)
days=sum(every_month_day[:month-1])+day
if (year%400==0) or ((year%4==0) and (year!=0)):#如果该年份是闰年
#every_month_day[1]=29
if month>2: #如果月份超过了2月,2月为29天,则天数加1天
days+=1
print('这是第{}天:'.format(days))
if __name__ =='__main__':
main()
运行结果: