python 02/100例

题目

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

分析

例如:2018年6月19日

天数 = 19天 + 一月天数 + 2月天数 + ... + 6月天数

注意

  1. 闰年的2月是29天,如果年份是闰年,并且闰年的月份在3月以后,则需要多加1天。
  2. 1,3,5,7,8,10,12月是31天,2月是28天,其他的是30天【简单记法:4,6,9是30天,2月判断是否是闰年,如果不是则28天,是则加1天,其余31天】。

完整代码

 1 #!/usr/bin/python
 2 # -*- coding: utf-8 -*-
 3 
 4 """
 5 题目:输入某年某月某日,判断这一天是这一年的第几天?
 6 程序分析:以3月5日为例,应该先把前两个月的加起来,
 7 然后再加上5天即本年的第几天,
 8 特殊情况,闰年的2月是29天,如果年份是闰年,并且闰年的
 9 月份在3月以后,则需要多加1天。
10 每四年一次闰年。
11 1,3,5,7,8,10,12月是31天,2月是28天,其他的是30天。
12 """
13 year = int(input('请输入年份:'))
14 month = int(input('请输入月份:'))
15 day = int(input('请输入今日号数:'))
16 
17 months = [0,31,59,90,120,151,181,212,243,273,304,334]
18 
19 if (month >= 1) and (month <= 12):
20     sum = months[month-1]
21 
22 sum += day
23 
24 add = 0
25 
26 if (year % 400 == 0) or (year % 4 == 0) and (year % 100 != 0):
27     add = 1
28 if (add == 1) and (month >= 2):
29     sum += add
30 
31 print('该日期是一年中第%d' % sum)

 

 

 

posted @ 2018-06-09 17:37  littlebob  阅读(247)  评论(0编辑  收藏  举报