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

一、题目描述

二、思路

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

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

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

三、代码实现

import datetime

start = datetime.date(2000, 1, 1)
end = datetime.date(2020, 10, 1)
res = 0

while start != end:
    if start.isoweekday() == 1 or start.day == 1:
        res += 2
    else:
        res += 1

    start += 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.year
    month = start.month
    day = start.day
    yy = (year // 1000) + (year // 10) % 10 + (year % 10) + (year // 100) % 10
    mm = (month // 10) + (month % 10) + (day // 10) + (day % 10)
    if yy == mm:
        ans += 1
    start += 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 += 1
       print(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 random

random_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 = 31

random_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)

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/531854.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode】手撕系列—82. 删除排序链表中的重复元素 II

目录 1- 思路2- 题解⭐删除排序链表中的重复元素 II——题解思路 3- ACM模式 原题链接:82. 删除排序链表中的重复元素 II 1- 思路 定义虚拟头结点 定义 cur 指针,cur指针始终指向虚拟头结点,依此操作 cur.next 和 cur.next.next while条件为…

centos7部署zabbix6.4.9

文章目录 [toc]一、环境准备1)部署lnmp2)修改配置文件3)安装数据库 二、部署zabbix1)下载zabbix2)安装zabbix服务端3)修改配置4)开机启动5)安装客户端 三、登录配置1)访问…

KVM+GFS分布式存储

本章内容: 学会KVMGFS分布式存储高可用 1.0 案例环境 1.案例环境 大规模使用 KVM 虚拟机来运行业务,为了保证公司虚拟机能够安全稳定运行, 决定采用 KVMGlusterFS 模式,来保证虚拟机存储的分布部署,以及分布冗余。避…

【技术揭秘】爬取网站或APP应用的几种常用方案:RPA、抓包工具、Python爬虫,你了解多少?

本来准备空闲之余尝试用RPA软件抓取数据,【AIRPA系列】1、利用AIRPA提升工作效率 应用场景 , 最近工作项目有点忙, RPA实操系列可能会晚点了(自己真正实操后再写,copy别人的没啥意思)。这里简单整理下爬取…

转让无区域资产管理公司要求和步骤

资产管理公司转让是指,一家资产管理公司将其管理的资产或资产组合转让给另一家资产管理公司或买家。这种转让通常是由于各种原因引起的,例如公司战略调整、市场需求变化或者是公司经营状况不佳等。在进行资产管理公司转让时,需要遵循一定的流…

python 08Pandas

1.基础概念 2.基本操作 (1)加载数据集 import pandas as pd #引入pandas包 打开csv文件 df pd.read_csv(./data/gapminder.tsv,sep\t) #\t制表符,即tab,缩进四个字符 \n表示回车换行 print(type(df)) print(df.head()) #…

vue的监视属性

目录 1. 场景引入2. watch3. 深度监视4. 监视属性简写5. 小结 1. 场景引入 在实际开发中,有时开发者需要根据某个属性的变化,做出相应的决策,因此Vue为开发者提供了watch.这一监视属性,用于实现此类需求。比如下面这个场景&…

解决 macOS 系统向日葵远程控制鼠标、键盘无法点击的问题

解决 macOS 系统向日葵远程控制鼠标\键盘无法点击的问题 1、首先正常配置,在系统偏好设置 - 安全性与隐私内,将屏幕录制、文件和文件夹、完全的磁盘访问权限、辅助功能全部都加入向日葵客户端 2、通过打开的文件访达,使用command shift G…

蓝桥杯2023A-05-互质数(Java)

5.互质数 题目描述 给定 a, b&#xff0c;求 1 ≤ x < a^b 中有多少个 x 与 a^b 互质。由于答案可能很大&#xff0c;你只需要输出答案对 998244353 取模的结果。 输入格式 输入一行包含两个整数分别表示 a, b&#xff0c;用一个空格分隔。 输出格式 输出一行包含一个…

java操作linux

文章目录 远程连接服务器执行linux命令或shell脚本介绍Process的方法相关类UML 工具类基本工具类依赖第三方的工具类 远程连接服务器 java程序远程linux服务器有两个框架分别是&#xff1a;jsch与ganymed-ssh2框架。推荐使用jsch框架&#xff0c;因为ganymed-ssh2框架不支持麒…

IO流的基础详解

文件【1】File类&#xff1a; 封装文件/目录的各种信息&#xff0c;对目录/文件进行操作&#xff0c;但是我们不可以获取到文件/目录中的内容。 【2】引入&#xff1a;IO流&#xff1a; I/O &#xff1a; Input/Output的缩写&#xff0c;用于处理设备之间的数据的传输。 【3】…

【单片机家电产品学习记录--蜂鸣器】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 单片机家电产品–蜂鸣器 前言 记录学习单片机家电产品内容 已转载记录为主 一、知识点 1电子电路学习笔记&#xff08;17&#xff09;——蜂鸣器 蜂鸣器种类和原理 2疑…

【R基础】一组数据计算均值、方差与标准差方法及意义

【R基础】一组数据计算均值、方差与标准差方法及意义 均值、方差与标准差是用来描述数据分布情况 均值&#xff1a;用来衡量一组数据整体情况。 数据离散程度度量标准&#xff1a; 方差&#xff08;均方&#xff0c;s^2&#xff0c;总体参数&#xff0c;离均差平方和&#…

kotlin项目引用

概要&#xff1a; 记录项目引用kotlin具体事项 1 object下build.gradle buildscript {//声明引用版本ext.kotlin_version "1.4.20"repositories {google()mavenCentral()}dependencies {classpath "com.android.tools.build:gradle:4.2.0"//引用kotlinc…

队列实现栈———栈实现队列

两个队列实现栈 . - 力扣&#xff08;LeetCode&#xff09; 如何用两个队列实现栈的操作呢&#xff1f; 弹出 我们知道栈的特点是后进先出&#xff0c;而队列的特点是先进先出。如何用两个队列实现数据的先进后出。首先我们先抽象一个一个栈用来思考我们该怎么实现 我们先假设…

代码随想录阅读笔记-二叉树【总结】

二叉树的理论基础 代码随想录 (programmercarl.com)&#xff1a;二叉树的种类、存储方式、遍历方式、定义方式 二叉树的遍历方式 深度优先遍历 代码随想录阅读笔记-二叉树【递归遍历】-CSDN博客&#xff1a;递归三部曲初次亮相代码随想录阅读笔记-二叉树【迭代遍历】-CSDN博…

编写Markdown时如何爽爽地渲染树?

在使用VitePress/Dumi等静态网站生成时&#xff0c;一般均支持直接在Markdown中渲染显示Vue/React组件&#xff0c;这给个网站非常丰富极致的表现力&#xff0c;我们在创建静态网站时开心的使用各种Vue/React组件&#xff0c;但是在输出树结构时&#xff0c;实际场景中存在几个…

李沐25_使用块的网络VGG——自学笔记

VGG架构 1.多个VGG块后接全连接层 2.不同次数的重复块得到不同的架构 VGG-16、VGG-19 3.更大更深的AlexNet ##经典卷积神经网络的基本组成部分是下面的这个序列&#xff1a; 1.带填充以保持分辨率的卷积层&#xff1b; 2.非线性激活函数&#xff0c;如ReLU&#xff1b; …

【规划算法】A星 与 混合A星

理解概念: A星寻路算法详解&#xff08;C实现 完整代码图片演示 &#xff09;_a星算法-CSDN博客 A*算法图解_a*算法流程图-CSDN博客 A星(A*、A Star)路径规划算法详解&#xff08;附MATLAB代码&#xff09;_a星算法路径规划-CSDN博客 改进A*算法dwa 本文提出了一种改进的A*…

Tmux 使用笔记

Tmux 是一个终端复用器&#xff08;terminal multiplexer&#xff09;&#xff0c;非常有用&#xff0c;属于常用的开发工具。 本文记录个人使用 Tmux的命令。 1. tmux简介 命令行的典型使用方式是&#xff0c;打开一个终端窗口&#xff0c;连接计算机&#xff0c;在里面输入…