前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >用Python来计算某天是一年中的第几天

用Python来计算某天是一年中的第几天

作者头像
算法与编程之美
发布2023-12-20 18:31:29
发布2023-12-20 18:31:29
3190
举报

1 问题

通过日历可以直观地看到今天的日期,以规划和筹备自己所做的事情。如果想通过人工来计算某一天是在那一年的第几天过于繁琐,下面我们将尝试用Python来简单计算某天在一年中是第哪一天。

2 方法

用文字描述解题思路,可配合一些图形以便更好的阐述。解决问题的步骤采用如下方式:

  1. input函数请用户输入日期,int函数将输入的字符串转化为整型
  2. 创建列表months,列表中的元素为上个月月底是今年的第几天
  3. 用if...else语句判断输入的月份是否正确
  4. 创建变量leap,赋值为0
  5. 用if语句判断平闰年,若这一年是闰年,leap赋值为1
  6. 创建列表days,列表中的元素为每个月的天数
  7. 用if...else语句判断输入的日期是否正确
  8. 用f-string的方法格式化字符串,print函数打印输出
  9. 操作如图

结果:

通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。

代码清单 1

代码语言:text
复制
print("请输入年月日,判断这个日期是这一年的第多少天")
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
day = int(input("请输入日期:"))
months = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]
if 1 <= month <= 12:
   sum = months[month - 1]
   sum += day
   leap = 0
   if year % 4 == 0 and year % 100 !=0 or year % 400 == 0:
       leap = 1
   days = [31, 28 + leap, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
   if day > days[month -1]:
      print("输入的日期错误")
   else:
      if month > 2 and leap == 1:
          sum += 1
      print(f"这是这一年的第 {sum} 天")
else:
     print("输入的月份错误")

3 结语

针对python计算日期的问题提出方法,通过实验,证明该方法是有效的,这次实验对象比较简单,后续会增加难度来进行相关计算。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-12-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档