当前位置: 首页 > news >正文

备战蓝桥杯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跑步锻炼

一、题目描述 二、思路 1、使用datetime库中的方法可以很好的解决这个问题。 2、定义起始时间和结束时间,判断是否是周一或者是1号,结果res加上相应的里程数。 3、最后输出 res 即为本题答案。 三、代码实现 import datetimestart datetime.date(2…...

书生·浦语大模型第二期实战营第二课笔记和基础作业

来源: 作业要求:Homework - Demo 文档教程:轻松玩转书生浦语大模型趣味 Demo B站教程:轻松玩转书生浦语大模型趣味 Demo 1. 笔记 2.基础作业 2.1 作业要求 2.2 算力平台 2.3 新建demo目录,以及新建目录下的文件,下载模型参数 2.4 Intern…...

成功解决> 错误: 无效的源发行版:17

运行项目的时候出现下面的报错: Execution failed for task ‘:device_info_plus:compileDebugJavaWithJavac’. 错误: 无效的源发行版:17 原因:没有设置好自己项目的JDK版本 解决:1.检查自己项目的JDK版本 将自己的项目改为JDK 1…...

深度剖析:网络安全中的红蓝对抗策略

红蓝对抗 红蓝对抗服务方案 在蓝队服务中,作为攻击方将开展对目标资产的模拟入侵,寻找攻击路径,发现安全漏洞和隐患。除获取目标系统的关键信息(包括但不限于资产信息、重要业务数据、代码或管理员账号等)外&#x…...

Java异常处理之旅:解救迷失的程序员(二)

本系列文章简介: 在编程世界中,程序员们常常会遇到各种各样的问题和挑战。有时候,这些问题很容易解决,而有时候,它们却会让我们感到迷失和无助。 在这个旅程中,我们将探索Java异常处理的世界,解…...

网络安全介绍

网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统能够连续可靠正常地运行,网络服务不中断。以下是一些网络安全相关的方面: 首先,随着科学技术的进…...

分享一个好看的APP下载分发页,App Store风格

分享一个好看的APP下载分发页,App Store风格 可以自动识别安卓和苹果哦! 内容直接可以页面上修改,所见即所得 下图是一个真实截图,想要的留下评论哦!...

C++ 获取数组大小、多维数组操作详解

获取数组的大小 要获取数组的大小&#xff0c;可以使用 sizeof() 运算符&#xff1a; 示例 int myNumbers[5] {10, 20, 30, 40, 50}; cout << sizeof(myNumbers);结果&#xff1a; 20为什么结果显示为 20 而不是 5&#xff0c;当数组包含 5 个元素时&#xff1f; 这…...

苹果电脑怎么彻底删除软件 苹果电脑卸载软件在哪里 cleanmymac x怎么卸载 mac废纸篓怎么删除

苹果电脑卸载软件的方法相对直观和简单&#xff0c;尤其是对于习惯使用Mac操作系统的用户来说。以苹果MacBook Pro为例&#xff0c;以下是卸载软件的详细步骤、使用方法、注意事项与建议。 一、卸载软件的详细步骤&#xff1a; 1. 打开Mac电脑&#xff0c;进入桌面&#xff0c…...

STM32F407 FSMC并口读取AD7606

先贴一下最终效果图.这个是AD7606并口读取数据一个周期后的数据结果. 原始波形用示波器看是很平滑的. AD7606不知为何就会出现干扰, 我猜测可能是数字信号干扰导致的. 因为干扰的波形很有规律. 这种现象基本上可以排除是程序问题. 应该是干扰或者数字信号干扰,或者是数字和模拟…...

WebGPU vs. 像素流

在构建 Bzar 之前&#xff0c;我们讨论过我们的技术栈是基于在云上渲染内容的像素流&#xff0c;还是基于使用设备自身计算能力的本地渲染技术。 由于这种选择会极大地影响项目的成本、可扩展性和用户体验&#xff0c;因此在开始编写一行代码之前&#xff0c;从一开始就采取正确…...

Windows下docker-compose部署DolphinScheduler

参照&#xff1a;快速上手 - Docker部署(Docker) - 《Apache DolphinScheduler v3.1.0 使用手册》 - 书栈网 BookStack 下载源文件 地址&#xff1a;https://dolphinscheduler.apache.org/zh-cn/download/3.2.1 解压到指定目录&#xff0c;进入apache-dolphinscheduler-xxx-…...

微服务项目sc2024通用Base工程

1. cloud-provider-payment8001 2.pom文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"ht…...

git学习 1

打开自己想要存放git仓库的文件夹&#xff0c;右键打开git bush&#xff0c;用git init命令建立仓库 用 ls -a(表示全都要看&#xff0c;包括隐藏的)可以看到git仓库 也可以用 git clone 接github链接&#xff08;点code选项里面会给链接&#xff0c;结尾是git的那个&#xf…...

HTML - 请你说一下如何阻止a标签跳转

难度级别:初级及以上 提问概率:55% a标签的默认语义化功能就是超链接,HTML给它的定位就是与外部页面进行交流,不过也可以通过锚点功能,定位到本页面的固定id区域去。但在开发场景中,又避免不了禁用a标签的需求,那么都有哪些方式可以禁用…...

【CV】ORB算法

1. ORB算法&#xff1a; 特点&#xff1a; 实现了旋转不变性、尺度不变性和计算效率高等特性。 旋转不变性&#xff1a; 通过计算关键点周围的梯度信息&#xff0c;确定关键点的主方向。将图像旋转到关键点的主方向&#xff0c;然后再提取BRIEF描述符&#xff0c;增强了旋转不…...

【算法】Cordic算法的原理及matlab/verilog应用

一、前言 单片机或者FPGA等计算能力弱的嵌入式设备进行加减运算还是容易实现&#xff0c;但是想要计算三角函数&#xff08;sin、cos、tan&#xff09;&#xff0c;甚至双曲线、指数、对数这样复杂的函数&#xff0c;那就需要费些力了。通常这些函数的计算需要通者查找表或近似…...

QT:信号与槽

作业&#xff1a; 完善对话框&#xff0c;点击登录对话框&#xff0c;如果账号和密码匹配&#xff0c;则弹出信息对话框&#xff0c;给出提示”登录成功“&#xff0c;提供一个Ok按钮&#xff0c;用户点击Ok后&#xff0c;关闭登录界面&#xff0c;跳转到其他界面 如果账号和…...

以动态库链接库 .dll 探索结构体参数

Dev c C语言实现第一个 dll 动态链接库 创建与调用-CSDN博客 在写dll 插件中发现的函数指针用途和 typedef 的定义指针的用法-CSDN博客 两步之后&#xff0c;尝试加入结构体实现整体数据使用。 注意结构体 Ak 是相同的 代码如下 DLL文件有两个&#xff0c;dll.dll是上面提到…...

vue快速入门(三)差值表达式

注释很详细&#xff0c;直接上代码 上一篇 新增内容 插值表达式基本用法插值表达式常用公式 源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-wid…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

STM32HAL库USART源代码解析及应用

STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业&#xff0c;那宇树科技&#xff08;Unitree&#xff09;必须名列其榜。 最近&#xff0c;宇树科技的一项新变动消息在业界引发了不少关注和讨论&#xff0c;即&#xff1a; 宇树向其合作伙伴发布了一封公司名称变更函称&#xff0c;因…...