备战蓝桥杯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如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

基于Python打造一个智能单词管理神器

《基于Python打造一个智能单词管理神器》这篇文章主要为大家详细介绍了如何使用Python打造一个智能单词管理神器,从查询到导出的一站式解决,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 项目概述:为什么需要这个工具2. 环境搭建与快速入门2.1 环境要求2.2 首次运行配置3. 核心功能使用指

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

Python中pywin32 常用窗口操作的实现

《Python中pywin32常用窗口操作的实现》本文主要介绍了Python中pywin32常用窗口操作的实现,pywin32主要的作用是供Python开发者快速调用WindowsAPI的一个... 目录获取窗口句柄获取最前端窗口句柄获取指定坐标处的窗口根据窗口的完整标题匹配获取句柄根据窗口的类别匹配获取句

利用Python打造一个Excel记账模板

《利用Python打造一个Excel记账模板》这篇文章主要为大家详细介绍了如何使用Python打造一个超实用的Excel记账模板,可以帮助大家高效管理财务,迈向财富自由之路,感兴趣的小伙伴快跟随小编一... 目录设置预算百分比超支标红预警记账模板功能介绍基础记账预算管理可视化分析摸鱼时间理财法碎片时间利用财

Python中的Walrus运算符分析示例详解

《Python中的Walrus运算符分析示例详解》Python中的Walrus运算符(:=)是Python3.8引入的一个新特性,允许在表达式中同时赋值和返回值,它的核心作用是减少重复计算,提升代码简... 目录1. 在循环中避免重复计算2. 在条件判断中同时赋值变量3. 在列表推导式或字典推导式中简化逻辑

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Python位移操作和位运算的实现示例

《Python位移操作和位运算的实现示例》本文主要介绍了Python位移操作和位运算的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 位移操作1.1 左移操作 (<<)1.2 右移操作 (>>)注意事项:2. 位运算2.1

使用Python和Pyecharts创建交互式地图

《使用Python和Pyecharts创建交互式地图》在数据可视化领域,创建交互式地图是一种强大的方式,可以使受众能够以引人入胜且信息丰富的方式探索地理数据,下面我们看看如何使用Python和Pyec... 目录简介Pyecharts 简介创建上海地图代码说明运行结果总结简介在数据可视化领域,创建交互式地