每天学点Python案例五:判断第几天

Posted kevin-wangxinzheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每天学点Python案例五:判断第几天相关的知识,希望对你有一定的参考价值。

判断第几天

V1.0

案例描述:

  • 输入某年某月某日,判断这一天是这一年的第几天?
  • Demo:
    • 输入的日期为2017/03/05,是2017年的第几天?
    • 输入的日期为2012/03/05,是2012年的第几天?

案例分析:

  1. 每个月份的天数不同
  2. 闰年与平年的2月份天数不同
  3. 闰年判断:
    • 四年一闰百年不闰
    • 四百年再闰

上机实验:

技术分享图片
 1 """
 2     作者:王鑫正
 3     版本:1.0
 4     日期:2018年9月24日
 5     功能:输入某年某月某日,判断这一天是这一年的第几天?
 6 """
 7 
 8 from datetime import datetime
 9 
10 
11 def main():
12     """
13         主函数
14     """
15     input_date_str = input(请输入日期(yyyy-mm-dd):)
16     input_date = datetime.strptime(input_date_str, %Y-%m-%d)
17     print(input_date)
18 
19     year = input_date.year
20     month = input_date.month
21     day = input_date.day
22 
23     # 计算之前月份天数的总和以及当前月份天数
24     days_in_month_tup = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
25     # print(days_in_month_tup[: month - 1])
26     days = sum(days_in_month_tup[: month - 1]) + day
27 
28     if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
29         if month > 2:
30             days += 1
31 
32     print(这是第{}天:.format(days))
33 
34 
35 if __name__ == __main__:
36     main()
View Code

补充说明:

1. 元组

  • 元组(tuple)是特殊的序列类型
  • 一旦被创建就不能修改,使得代码更安全
  • 使用逗号和圆括号来表示,如(‘red‘, ‘blue‘, ‘green‘), (2, 4, 6)
  • 访问方式和列表相同
  • 一般用于表达固定数据项、函数多返回值等情况

2. 特点

  • 元组中的元素可以是不同类型的
  • 元组中个元素存在先后关系,可通过索引访问元组中元素

 


V2.0增加功能:

 

以上是关于每天学点Python案例五:判断第几天的主要内容,如果未能解决你的问题,请参考以下文章

每天学点Python案例一:汇率换算

每天学点Python案例三:BMR计算器

每天学点Python案例八:空气质量指数计算

每天学点Python案例四:52周存钱挑战

Python练习代码——输入年月日,判断这一天是这一年的第几天?

python练习题4-判断日期是一年的第几天