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

2023-12-18 06:44

本文主要是介绍用Python来计算某天是一年中的第几天,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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. 操作如图

b12c2802586b79014b7e59cc733e8247.png

结果:

c807aca3b06f2aa955ad398177cb5f64.png

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

代码清单 1

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

这篇关于用Python来计算某天是一年中的第几天的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/507423

相关文章

Python自定义异常的全面指南(入门到实践)

《Python自定义异常的全面指南(入门到实践)》想象你正在开发一个银行系统,用户转账时余额不足,如果直接抛出ValueError,调用方很难区分是金额格式错误还是余额不足,这正是Python自定义异... 目录引言:为什么需要自定义异常一、异常基础:先搞懂python的异常体系1.1 异常是什么?1.2

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

Linux升级或者切换python版本实现方式

《Linux升级或者切换python版本实现方式》本文介绍在Ubuntu/Debian系统升级Python至3.11或更高版本的方法,通过查看版本列表并选择新版本进行全局修改,需注意自动与手动模式的选... 目录升级系统python版本 (适用于全局修改)对于Ubuntu/Debian系统安装后,验证Pyt

Python实现开根号的五种方式

《Python实现开根号的五种方式》在日常数据处理、数学计算甚至算法题中,开根号是一个高频操作,但你知道吗?Python中实现开根号的方式远不止一种!本文总结了5种常用方法,感兴趣的小伙伴跟着小编一起... 目录一、为什么需要多种开根号方式?二、5种开根号方式详解方法1:数学库 math.sqrt() ——

Python lambda函数(匿名函数)、参数类型与递归全解析

《Pythonlambda函数(匿名函数)、参数类型与递归全解析》本文详解Python中lambda匿名函数、灵活参数类型和递归函数三大进阶特性,分别介绍其定义、应用场景及注意事项,助力编写简洁高效... 目录一、lambda 匿名函数:简洁的单行函数1. lambda 的定义与基本用法2. lambda

Python 函数详解:从基础语法到高级使用技巧

《Python函数详解:从基础语法到高级使用技巧》本文基于实例代码,全面讲解Python函数的定义、参数传递、变量作用域及类型标注等知识点,帮助初学者快速掌握函数的使用技巧,感兴趣的朋友跟随小编一起... 目录一、函数的基本概念与作用二、函数的定义与调用1. 无参函数2. 带参函数3. 带返回值的函数4.

Python跨文件实例化、跨文件调用及导入库示例代码

《Python跨文件实例化、跨文件调用及导入库示例代码》在Python开发过程中,经常会遇到需要在一个工程中调用另一个工程的Python文件的情况,:本文主要介绍Python跨文件实例化、跨文件调... 目录1. 核心对比表格(完整汇总)1.1 自定义模块跨文件调用汇总表1.2 第三方库使用汇总表1.3 导

基于Python实现进阶版PDF合并/拆分工具

《基于Python实现进阶版PDF合并/拆分工具》在数字化时代,PDF文件已成为日常工作和学习中不可或缺的一部分,本文将详细介绍一款简单易用的PDF工具,帮助用户轻松完成PDF文件的合并与拆分操作... 目录工具概述环境准备界面说明合并PDF文件拆分PDF文件高级技巧常见问题完整源代码总结在数字化时代,PD

Python实现Word转PDF全攻略(从入门到实战)

《Python实现Word转PDF全攻略(从入门到实战)》在数字化办公场景中,Word文档的跨平台兼容性始终是个难题,而PDF格式凭借所见即所得的特性,已成为文档分发和归档的标准格式,下面小编就来和大... 目录一、为什么需要python处理Word转PDF?二、主流转换方案对比三、五套实战方案详解方案1:

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指