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

方法二:简化方法一

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

方法三:使用模块time和datetime

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

 

版权声明:本文为pinpin原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/pinpin/p/9858686.html