备战蓝桥杯Day40 - 第11届python组真题 - C跑步锻炼

2024-04-11 08:44

本文主要是介绍备战蓝桥杯Day40 - 第11届python组真题 - C跑步锻炼,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、题目描述

二、思路

1、使用datetime库中的方法可以很好的解决这个问题。

2、定义起始时间和结束时间,判断是否是周一或者是1号,结果res加上相应的里程数。

3、最后输出 res 即为本题答案。

三、代码实现

import datetimestart = datetime.date(2000, 1, 1)
end = datetime.date(2020, 10, 1)
res = 0while start != end:if start.isoweekday() == 1 or start.day == 1:res += 2else:res += 1start += datetime.timedelta(days=1)print(res+2)

类似练习

题目:

思路:

1、使用datetime库设置初始时间和结束时间

2、分别定义年份、月份、日期。不用考闰年的情况,因为datetime库会自动识别。

3、分别求出年份的数位和 月份日期的数位和,进行比较

4、定义 结果ans 变量,通过循环满足条件的不断加一。

5、本题为填空题,最后直接打印结果即可。

代码实现:

import datetime
start = datetime.date(1900, 1, 1)
end = datetime.date(9999, 1, 1)
ans = 0
while start != end:year = start.yearmonth = start.monthday = start.dayyy = (year // 1000) + (year // 10) % 10 + (year % 10) + (year // 100) % 10mm = (month // 10) + (month % 10) + (day // 10) + (day % 10)if yy == mm:ans += 1start += datetime.timedelta(days=1)print(ans)

datetime库的使用方法

1、date类

import datetime# 获取日期 创建对象
date_obj = datetime.date(2000, 3, 4)# 读取时间
year = date_obj.year
month = date_obj.month
day = date_obj.day# 时间的运算
tom = date_obj + datetime.timedelta(days=1)
yes = date_obj - datetime.timedelta(days=1)print(tom)
print(yes)

2、判断某天是周几

import datetime# 判断某天是周几   isoweekday() 
start = datetime.date(2024, 4, 1)
end = datetime.date(2024, 4, 10)
res = 0
while start != end:if start.isoweekday() == 2:res += 1print(start.day)start += datetime.timedelta(days=1)
# print(res)

3. datetime.time 类

创建时间对象
time_obj = datetime.time(hour, minute, second, microsecond)
访问时间对象的属性
hour = time_obj.hour  
minute = time_obj.minute  
second = time_obj.second  
microsecond = time_obj.microsecond

4. datetime.datetime 类

创建日期时间对象
datetime_obj = datetime.datetime(year, month, day, hour, minute, second, microsecond)
访问日期时间对象的属性
year = datetime_obj.year  
month = datetime_obj.month  
day = datetime_obj.day  
hour = datetime_obj.hour  
minute = datetime_obj.minute  
second = datetime_obj.second  
microsecond = datetime_obj.microsecond

日期时间运算
# 获取一天后的日期时间  
one_day_later = datetime_obj + datetime.timedelta(days=1)  # 获取一小时后的日期时间  
one_hour_later = datetime_obj + datetime.timedelta(hours=1)

5. datetime.timedelta 类

用于表示两个日期或时间之间的差值。

delta = datetime.timedelta(days=3, hours=2, minutes=1)

6. datetime.tzinfo 类

用于处理时区信息。通常,你会使用第三方库(如 pytz)来处理时区,因为 datetime 库的 tzinfo 是一个非常基础且抽象的类。

7. 格式化日期和时间

使用 strftime 方法可以将日期和时间对象格式化为字符串。

formatted_date = date_obj.strftime("%Y-%m-%d")  
formatted_datetime = datetime_obj.strftime("%Y-%m-%d %H:%M:%S")

8. 从字符串解析日期和时间

使用 strptime 方法可以从字符串解析出日期和时间对象。

date_obj_from_str = datetime.date.strptime("2023-10-23", "%Y-%m-%d") datetime_obj_from_str = datetime.datetime.strptime("2023-10-23 12:34:56", "%Y-%m-%d %H:%M:%S")

9. 当前日期和时间

now = datetime.datetime.now()  # 获取当前日期和时间  
today = datetime.date.today()  # 获取当前日期

10.获取年份月份日期的数位

random库用于随机生成年份月份和日期,但是闰年2月29天需要注意一下。

datetime库用于创建对象,方便取用。

import datetime
import randomrandom_year = random.randint(1900, 9999)
random_month = random.randint(1, 12)
if random_month in [4, 6, 9, 11]:max_day = 30
elif random_month == 2:if (random_year % 4 == 0 and random_year % 100 != 0) or (random_year % 400 == 0):max_day = 29  # 闰年else:max_day = 28  # 非闰年
else:# 其他月份有31天max_day = 31random_day = random.randint(1, max_day)
# 随机生成日期
random_date = datetime.date(random_year, random_month, random_day)print(random_date)
# 打印年份的数位
print(random_year // 1000)
print(random_year // 100 % 10)
print(random_year % 10)
print(random_year % 100 // 10)
# 打印月份的数位
print(random_month // 10)
print(random_month % 10)
# 打印日期的数位
print(random_day // 10)
print(random_day % 10)

后续还有什么使用方法我会继续添加的。

这篇关于备战蓝桥杯Day40 - 第11届python组真题 - C跑步锻炼的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用