练习四:日期计算(输入某年某月某日计算出这一天是该年第几天的方法)

Posted pinpin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了练习四:日期计算(输入某年某月某日计算出这一天是该年第几天的方法)相关的知识,希望对你有一定的参考价值。

实现输入某年某月某日计算出这一天是该年第几天的方法
方法一:笨办法
 1 list_day = [0,31,28,31,30,31,30,31,31,30,31,30,31]
 2 year = int(input(请输入年))
 3 month = int(input(请输入月))
 4 day = int(input(请输入日))
 5 month_day = 0
 6 if 0<month<=12:
 7     if year % 400 == 0 or ((year % 4 ==0) and (year % 100 != 0)):
 8         print({}是闰年.format(year))
 9         list_day[1] = 29
10         for i in range(month-1):
11             month_day += list_day[i]
12         if day <= list_day[month]:
13             count_day = month_day + day
14             print(count_day)
15         else:
16             print(day error)
17 
18     else:
19         for i in range(month):
20             month_day += list_day[i]
21         if day <= list_day[month]:
22             count_day = month_day + day
23             print(count_day)
24         else:
25             print(day error)
26 else:
27     print(month error)

方法二:简化方法一

 1 list_day = [0,31,28,31,30,31,30,31,31,30,31,30,31]
 2 year = int(input(请输入年))
 3 month = int(input(请输入月))
 4 day = int(input(请输入日))
 5 if 0< month <=12:
 6     sum = list_day[month-1]
 7 else:
 8     print(data error)
 9 sum += day
10 
11 leap = 0 #
12 if year % 400 == 0 or ((year % 4 ==0) and (year % 100 != 0)):
13     leap = 1
14 if leap == 1 and month > 2:
15     sum += 1
16 print(sum)

方法三:使用模块time和datetime

1 import datetime
2 import time
3 def function2(year, month, day): # 直接使用Python内置模块datetime的格式转换功能得到结果
4     date = datetime.date(year, month, day)
5     return date.strftime(%j)
6 print(function2(2018,12,3))

 

以上是关于练习四:日期计算(输入某年某月某日计算出这一天是该年第几天的方法)的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

编程输入某年某月某日(正确日期),判断这一天是这一年的第几天?请用switch语句以及累加法完成。

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