page contents

python基础编程100例:第6期-日期查询

本文讲述了python基础编程100例:第6期-日期查询!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

attachments-2022-03-wnqeSyIP62295742e91f1.png

本文讲述了python基础编程100例:第6期-日期查询!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

第6期-日期查询

1 问题描述

输入某年某月某日,判断这个日期是这一年的第多少天

如:输入“2020 3 5”后,可以显示“这是这一年的第65天”


2 解题思路

以3月5日为例,应该先把前两个月的日期加起来,然后再加上5天即本年的第几天

需考虑特殊情况:闰年且输入月份大于2时需多加一天


3 解题方法

方法一

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("输入的月份错误")

第1行: 简要描述日期查询的问题

第3-5行: input函数请用户输入年、月、日,int函数将输入的字符串转化为整型

第7行: 创建列表months,列表中的元素为上个月月底是今年的第几天(二月按平年算)

第9-11行: 用if...else语句判断输入的月份是否正确,如果不正确,则转到第27行;如果正确,则通过列表的索引获取上个月之前所有的天数,再加上这个月的天数,就可得到这个日期是这一年的第多少天

第13行: 创建变量leap,赋值为0

第14行: 用if语句判断平闰年,若这一年是闰年,leap赋值为1

第17行: 创建列表days,列表中的元素为每个月的天数

第18-23行: 用if...else语句判断输入的日期是否正确,如果不正确,则打印"输入的日期错误",否则转到第21行,若为闰年且输入月份大于2,总天数多加一天

第25行: 用f-string的方法格式化字符串,print函数打印输出这是这一年的第多少天​


方法二

print("请输入年月日,判断这个日期是这一年的第多少天")


year = int(input("请输入年份:"))

month = int(input("请输入月份:"))

day = int(input("请输入日期:"))


import datetime


date1 = datetime.date(year, month, day)

date2 = datetime.date(year-1, 12, 31)

timedelta= (date1 - date2).days


print(f"这是这一年的第{timedelta}天")

第1行: 简要描述日期查询的问题

第3-5行: input函数请用户输入年、月、日,int函数将输入的字符串转化为整型

第7行: 导入datetime模块,datetime是python操作日期和时间的内置模块

第9行: 创建变量date1,使用datetime模块中名为date的类,指定参数为用户输入的年月日

第10行: 创建变量date2,指定参数为用户输入的上一年的最后一天

第11行: 将date1、 date2两个日期相减,(date1 - date2).days返回相差天数

第13行: 用print函数打印输出这是这一年的第多少天

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-Zrc5WQrp62919b8864ac6.jpeg

  • 发表于 2022-03-10 09:41
  • 阅读 ( 652 )
  • 分类:Python开发

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1474 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章