PAT部分题目相关知识点——python
python中的整除
在Python中,整除(也称为地板除)可以使用**//**运算符来实现。当使用//运算符时,结果将是一个整数,它表示除法运算的整数部分,舍去任何小数部分。
示例:
# 使用整除运算符 //
print(7 // 2) # 输出 3,因为 7 除以 2 的整数部分是 3
print(-7 // 2) # 输出 -4,注意负数的整除结果会向下取整
print(7.0 // 2) # 输出 3.0,如果操作数之一是浮点数,结果也是浮点数 # 对比普通的除法运算符 /
print(7 / 2) # 输出 3.5,普通的除法会保留小数部分
需要注意的是,当使用整除运算符时,如果除数为0,Python会引发一个ZeroDivisionError异常。
因此,在进行整除运算之前,最好先检查除数是否为零,以避免程序崩溃。
python删除最后指定字符串
在Python中,rstrip() 是一个字符串(string)方法,用于从字符串的末尾(即右侧)删除指定的字符。如果没有指定要删除的字符,那么它默认删除所有的空白字符(包括空格、制表符、换行符等)。
rstrip() 方法的基本语法:
str.rstrip([chars])
str:这是调用 rstrip() 方法的字符串。
chars(可选):一个字符串,指定要从原始字符串末尾删除的字符。如果省略或为空,将删除所有的空白字符。
1. 删除末尾的空白字符
s = " Hello, World! "
print(s.rstrip()) # 输出:" Hello, World!"(注意左侧空格未删除)
2. 删除指定的字符
s = "apple!!!"
print(s.rstrip("!")) # 输出:"apple"(删除了所有的 '!')
3. 删除多个指定的字符
s = "apple,;,,"
print(s.rstrip(",;")) # 输出:"apple"(删除了所有的 ',' 和 ';')
4. 如果没有要删除的字符,则返回原始字符串
s = "apple"
print(s.rstrip("xyz")) # 输出:"apple"(因为字符串末尾没有 'x'、'y' 或 'z')
rstrip() # 方法不会修改原始字符串,而是返回一个新的字符串。
5. 如果需要修改原始字符串,可以将结果赋值回原始变量:
s = " apple "
s = s.rstrip() # 现在 s 的值是 " apple"(仅删除了末尾的空格)
python删除字符串中某个字符的方法
在Python中,删除字符串中的某个字符可以有多种方法。由于字符串在Python中是不可变的,不能直接修改字符串。但是,你可以通过创建新的字符串来达到删除特定字符的效果。
方法一:使用replace()方法
replace()方法可以用于替换字符串中的特定字符或子字符串。如果将替换内容设置为空字符串,那么就可以实现删除的效果。
例如,删除字符串中的所有"a"字符:
s = "banana"
s = s.replace("a", "")
print(s) # 输出: "bnn"
方法二:使用列表推导式和join()方法
这种方法首先会将字符串转换为字符列表,然后使用列表推导式过滤掉不需要的字符,最后再将字符列表连接回字符串。
例如,删除字符串中的所有"a"字符:
s = "banana"
s = "".join([c for c in s if c != "a"])
print(s) # 输出: "bnn"
方法三:使用str.translate()和str.maketrans()方法
str.translate()和str.maketrans()方法可以一起使用来删除字符串中的特定字符。首先,需要使用str.maketrans()创建一个转换表,然后在str.translate()中使用这个转换表来删除字符。
例如,删除字符串中的所有"a"字符:
s = "banana"
trans = str.maketrans("", "", "a")
s = s.translate(trans)
print(s) # 输出: "bnn"
注意:以上所有方法都会删除字符串中所有匹配的字符。如果你只想删除第一个匹配的字符或最后一个匹配的字符,那么你需要稍微修改一下这些方法。例如,你可以使用str.find()或str.rfind()来找到第一个或最后一个匹配字符的位置,然后使用字符串切片来删除它。
python字符串切片操作
在Python中,字符串切片是一种获取字符串子序列的方法。通过使用索引和冒号(:)操作符,可以提取字符串中的特定部分。
字符串切片的基本语法如下:
substring = string[start: end :step]
string 是原始字符串。
start 是切片的起始索引(包含该索引处的字符)。
end 是切片的结束索引(不包含该索引处的字符)。
step 是切片的步长,表示每隔多少个字符取一个。
注意:索引是从0开始的,如果省略了start、end或step,则使用默认值。
示例:
s = "Hello, World!"
# 提取从索引0到5的子字符串(不包括索引5)
print(s[0:5]) # 输出: Hello
# 提取从索引7到末尾的子字符串
print(s[7:]) # 输出: World!
# 提取从开头到索引5的子字符串(不包括索引5)
print(s[:5]) # 输出: Hello
# 提取从开头到末尾的所有字符,并每两个字符取一个
print(s[::2]) # 输出: Hlo,Wrd!
# 提取从末尾到开头的所有字符,并每一个字符取一个(步长为-1)
print(s[::-1]) # 输出: !dlroW ,olleH
# 提取从索引-5到末尾的所有字符(负数索引表示从字符串末尾开始计数)
print(s[-5:]) # 输出: orld!
切片操作不会修改原始字符串,而是返回一个新的字符串。因为字符串在Python中是不可变的。
切片操作非常灵活,可以通过调整起始索引、结束索引和步长来获取字符串的不同部分。
python字典推导式
1. 字典按照键排序
sorted_dic.items()
: 这个方法假设sorted_dic是一个字典,并返回该字典中的键值对列表。每个键值对都是一个元组,其中第一个元素是键,第二个元素是值。
for k, v in sorted_list.items()
: 这部分遍历sorted_list.items()返回的键值对列表。在每次迭代中,键被赋值给变量k,值被赋值给变量v。
k: str(v)
: 对于每对键值,新的字典将有一个键k和一个值,该值是v的字符串表示形式(通过调用str(v)得到)。
代码创建了一个新的字典,其键与sorted_dic相同,但值被转换为字符串形式。
如果想要一个按键排序的字典,需要明确地进行排序:
{k: str(v) for k, v in sorted(sorted_list.items())}
这里,sorted(sorted_dic.items())将返回一个按键排序的键值对列表。然后,字典推导式将使用这个排序后的列表来创建新的字典。
将列表中的多个字典按照某个Key值进行排序
python将列表内的字典按照某个Key值对应的value排序
python中的enumerate()
在Python中,enumerate()是一个内置函数,用于在遍历集合(如列表、元组或字符串)时获取集合中每个元素的索引及其对应的值。
当使用for循环与enumerate()函数结合时,可以同时迭代集合的索引和值。
语法结构如下:
for index, value in enumerate(collection, start=0):
# 在这里,'index' 是当前元素的索引,'value' 是当前元素的值
# 'collection' 是要遍历的集合
# 'start' 是索引的起始值,默认为0
例如,考虑以下代码:
words = ['apple', 'banana', 'cherry']
for i, word in enumerate(words): print(f"Index: {i}, Word: {word}")
输出将是:
Index: 0, Word: apple
Index: 1, Word: banana
Index: 2, Word: cherry
enumerate(words) 生成了索引和单词的配对,然后for循环依次迭代这些配对,将索引赋值给i,将单词赋值给word,然后在循环体内部进行处理(在这个例子中是打印出来)。
python多重赋值的用法
Python 允许同时给多个变量赋值,这被称为多重赋值。这种特性使得代码更加简洁和易读。
1. 基本的多重赋值
可以在一行内给多个变量赋予不同的值:
a, b, c = 1, 2, 3
变量 a 被赋值为 1,变量 b 被赋值为 2,变量 c 被赋值为 3。
2. 交换变量的值
多重赋值也常用于交换两个变量的值,而不需要使用临时变量:
x, y = y, x
x 和 y 的值被交换了。
3. 解包序列
多重赋值还可以用于解包序列(如列表或元组)中的值:
fruits = ['apple', 'banana', 'cherry']
first, second, third = fruits
first 的值是 ‘apple’,second 的值是 ‘banana’,third 的值是 ‘cherry’。
解包可迭代对象并丢弃某些值
如果只对序列中的某些值感兴趣,可以使用 _(下划线)作为占位符来丢弃不需要的值:
x, _, y = (1, 2, 3) # x 将被赋值为 1, y 将被赋值为 3, 中间的值 2 被丢弃
x 被赋值为 1,y 被赋值为 3,而中间的值 2 被丢弃了。下划线 _ 在这里用作一个“不关心这个值”的占位符。
注意事项
当使用多重赋值时,确保等号两边的元素数量相同,否则会引发 ValueError
。
如果右侧是一个迭代器或生成器,它会被耗尽,因为多重赋值会立即解包所有的值。
如果右侧的值少于左侧的变量,会引发 ValueError。但是,如果右侧的值是一个可以迭代的对象(如列表或元组),并且你想要将剩余的值赋给最后一个变量,你可以使用 * 来收集剩余的值:
a, b, *rest = [1, 2, 3, 4, 5]
# a=1, b=2, rest=[3, 4, 5]
这些特性使得 Python 代码在处理多个变量时更加灵活和高效。
应用:反转数组
def reverse(num_list, start, end):while start < end:num_list[start], num_list[end] = num_list[end], num_list[start]start += 1end -= 1return num_list
python中.join()函数的用法
· 在Python中,.join()是一个字符串(str)类型的方法,用于将序列(例如列表、元组等)中的元素连接成一个新的字符串。
· 需要指定一个分隔符,该分隔符将被插入到序列中每两个元素之间。
· .join()方法不会改变原始序列,而是返回一个新的字符串。
1. .join()方法的基本用法:
separator = ' ' # 指定分隔符,这里是一个空格
sequence = ['apple', 'banana', 'cherry'] # 这是一个字符串序列(列表) # 使用.join()方法将序列中的字符串用分隔符连接起来
new_string = separator.join(sequence) # 输出结果
print(new_string) # 输出:apple banana cherry
在这个例子中,separator是一个包含单个空格的字符串,它将被用作连接sequence列表中字符串的分隔符。
. join()方法被调用在separator字符串上,并传入sequence列表作为参数。结果是一个新的字符串,其中sequence中的每个元素都被一个空格分隔开。
需要注意的是,.join()方法要求序列中的元素都是字符串类型。如果序列中包含非字符串类型的元素,需要先将它们转换为字符串,然后再使用.join()方法。
例如,有一个包含整数的列表,需要先使用列表推导式或者map()函数将整数转换为字符串:
numbers = [1, 2, 3, 4, 5] # 这是一个整数列表 # 使用列表推导式将整数转换为字符串
str_numbers = [str(num) for num in numbers] # 或者使用map()函数将整数转换为字符串(结果需要转换为列表)
# str_numbers = list(map(str, numbers)) # 现在可以使用.join()方法将字符串列表连接成一个新的字符串
result = ' '.join(str_numbers) # 输出结果
print(result) # 输出:1 2 3 4 5
python列表推导式
Python 列表推导式(List Comprehension)是一种简洁而可读的方式,用于创建列表。它基于现有的列表或任何可迭代对象,通过一行代码生成新的列表。
列表推导式的基本语法是在一个方括号内包含一个表达式,后面跟随一个 for 语句,然后是 0 个或多个 for 或 if 语句。
基本的列表推导式的例子如下:
1. 简单的列表推导式:
将一个范围内的数字转换为列表。
squares = [x**2 for x in range(10)]
print(squares) # 输出: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
2. 带有条件的列表推导式:
只包含偶数的平方。
even_squares = [x**2 for x in range(10) if x % 2 == 0]
print(even_squares) # 输出: [0, 4, 16, 36, 64]
3. 嵌套循环的列表推导式:
生成一个列表,其中包含两个列表中所有可能的元素对。
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
pairs = [(a, b) for a in list1 for b in list2]
print(pairs) # 输出: [(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b'), (2, 'c'), (3, 'a'), (3, 'b'), (3, 'c')]
4. 带有 if-else 条件的列表推导式:
根据条件选择不同的表达式结果。
numbers = [-1, 0, 1, 2, 3, 4, 5]
signs = ['negative' if num < 0 else 'positive' if num > 0 else 'zero' for num in numbers]
print(signs) # 输出: ['negative', 'zero', 'positive', 'positive', 'positive', 'positive', 'positive']
5. 从现有列表中选择元素:
选择列表中所有大于 2 的元素。
numbers = [1, 2, 3, 4, 5]
selected = [num for num in numbers if num > 2]
print(selected) # 输出: [3, 4, 5]
6. 矩阵转置:
假设有一个二维列表(矩阵),可以使用列表推导式进行转置。
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
transposed = [[row[i] for row in matrix] for i in range(len(matrix[0]))]
print(transposed) # 输出: [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
列表推导式提供了一种快速、简洁且可读的方式来创建和操作列表,而无需使用传统的循环和 .append() 方法。然而,对于更复杂的逻辑或更长的列表,使用传统的循环可能更加清晰。
python中的map函数
在Python中,map() 是一个内置的高阶函数,它接收一个函数和一个或多个可迭代对象作为输入,然后返回一个由该函数应用于每个输入项的结果构成的迭代器。
具体来说,map() 会将传入的函数依次作用到序列的每个元素,并把结果作为新的迭代器返回。
基本语法如下:
map(function, iterable, ...)
function:这是应用于每个输入项的函数。
iterable:这是一个或多个可迭代对象。函数将应用于这些对象的每个元素。
使用 map() 函数将一个列表中的每个元素都平方:
# 定义一个平方函数
def square(x): return x ** 2 # 创建一个数字列表
numbers = [1, 2, 3, 4, 5] # 使用map函数应用平方函数到列表的每个元素
squared = map(square, numbers) # map对象转换为列表以查看结果
squared_list = list(squared) print(squared_list) # 输出: [1, 4, 9, 16, 25]
在上面的例子中,square 函数被应用到了 numbers 列表中的每个元素上,并且结果存储在了 squared 的迭代器中。
通过将迭代器转换为列表,可以看到应用函数后的结果。
另外,也可以使用 lambda 表达式与 map() 结合,以更简洁的方式完成同样的任务:
numbers = [1, 2, 3, 4, 5]
squared = map(lambda x: x ** 2, numbers)
squared_list = list(squared)
print(squared_list) # 输出: [1, 4, 9, 16, 25]
在这个例子中,使用了匿名函数 lambda x: x ** 2
来代替显式定义的 square
函数。
需要注意的是,map() 返回的是一个迭代器,如果需要立即看到所有结果,可以将它转换为列表或其他可迭代的数据类型。
如果只是想按需访问结果,可以直接使用返回的迭代器。
python中的lamaba表达式
在Python中,lambda表达式是一种创建匿名函数(即没有名字的函数)的方式。
lambda函数可以接受任意数量的参数,但只能有一个表达式。这种函数在需要一个小函数作为另一个函数的参数时特别有用,例如在map()、filter()或sorted()等内置函数中。
lambda表达式的基本语法如下:
lambda arguments: expression
arguments:是函数的参数,它们可以是多个,用逗号隔开。
expression:是一个单一的表达式,lambda函数返回这个表达式的结果。
lambda表达式的例子:
1. 一个简单的lambda函数
它接受一个参数并返回其平方:
square = lambda x: x ** 2
print(square(5)) # 输出: 25
2. 使用lambda表达式对列表进行排序:
points = [(1, 2), (3, 4), (5, 0), (0, -1)]
points_sorted_by_y = sorted(points, key=lambda point: point[1])
print(points_sorted_by_y) # 输出: [(0, -1), (1, 2), (3, 4), (5, 0)]
在这个例子中,sorted()函数使用了一个lambda表达式来指定排序的关键字(即按照每个点的y坐标进行排序)。
3. 使用lambda表达式和filter()函数过滤出列表中的偶数:
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers) # 输出: [2, 4, 6]
在这个例子中,filter()函数使用了一个lambda表达式来检查每个数字是否是偶数,并返回了一个由偶数构成的迭代器。然后,使用list()函数将这个迭代器转换为一个列表。
lambda表达式提供了一种快速定义简单函数的方法,但如果需要编写更复杂的函数,建议使用def关键字来定义一个具有名字和文档字符串的常规函数。
相关文章:

PAT部分题目相关知识点——python
python中的整除 在Python中,整除(也称为地板除)可以使用**//**运算符来实现。当使用//运算符时,结果将是一个整数,它表示除法运算的整数部分,舍去任何小数部分。 示例: # 使用整除运算符 // …...

Redis核心数据结构之字典(二)
字典 解决键冲突 当有两个或以上数量的键被分配到了一个哈希表数组的同一个索引上面,我们称这些键发生了冲突(collision)。 Redis的哈希表使用链地址法(separate chaining)来解决键冲突,每个哈希表节点都有一个next指针,多个哈希表节点可以…...

拯救行动(BFS)
公主被恶人抓走,被关押在牢房的某个地方。牢房用 N \times M (N, M \le 200)NM(N,M≤200) 的矩阵来表示。矩阵中的每项可以代表道路()、墙壁(#)、和守卫(x)。 英勇的骑士(r…...

985硕的4家大厂实习与校招经历专题分享(part2)
我的个人经历: 985硕士24届毕业生,实验室方向:CV深度学习 就业:工程-java后端 关注大模型相关技术发展 校招offer: 阿里巴巴 字节跳动 等10 研究生期间独立发了一篇二区SCI 实习经历:字节 阿里 京东 B站 (只看大厂,面试…...

【NR技术】 3GPP支持无人机的关键技术以及场景
1 背景 人们对使用蜂窝连接来支持无人机系统(UAS)的兴趣浓厚,3GPP生态系统为UAS的运行提供了极好的好处。无处不在的覆盖范围、高可靠性和QoS、强大的安全性和无缝移动性是支持UAS指挥和控制功能的关键因素。与此同时,监管机构正在调查安全和性能标准以及…...

【译】WordPress Bricks主题安全漏洞曝光,25,000个安装受影响
WordPress的Bricks主题存在一个严重的安全漏洞,恶意威胁行为者正在积极利用该漏洞在易受攻击的安装上运行任意PHP代码。 该漏洞被跟踪为CVE-2024-25600(CVSS评分:9.8),使未经身份验证的攻击者能够实现远程代码执行。它…...

【C++ 23种设计模式】
C 23种设计模式 ■ 创建型模式(5种)■ 工厂模式■ 抽象工厂模式■ 原型模式■ 单例模式■ 第一种:单线程(懒汉)■ 第二种:多线程(互斥量实现锁懒汉)■ 第三种:多线程(const static饿…...

亚信安慧AntDB:企业数据管理的明日之星
在信息科技飞速发展的时代,亚信科技AntDB团队提出了一项颠覆性的“超融合”理念,旨在满足企业日益增长的复杂混合负载和多样化数据类型的业务需求。这一创新性框架的核心思想在于融合多引擎和多能力,充分发挥分布式数据库引擎的架构优势&…...

Android Gradle开发与应用 (三) : Groovy语法概念与闭包
1. Groovy介绍 Groovy是一种基于Java平台的动态编程语言,与Java是完全兼容,除此之外有很多的语法糖来方便我们开发。Groovy代码能够直接运行在Java虚拟机(JVM)上,也可以被编译成Java字节码文件。 以下是Groovy的一些…...

Android 14 设置锁屏为NONE后开启双卡PIN锁,重启设备后,输完卡1的PIN码就进入了安卓界面,未提示输入卡2的PIN码
一.问题背景 目前在多个Android14平台发现开启双卡PIN码并且关闭屏幕锁的情况下,第二个PIN码锁输入弹框不能弹出问题,导致第二个卡不能注网。 如下是未修改前重启后解锁卡1PIN码的状态 可以看出卡2不能正常使用 二.何处关闭了卡2的PIN锁? 1.添加日志 首先在KeyguardSecu…...

2024 GoLand激活,分享几个GoLand激活的方案
文章目录 GoLand公司简介我这边使用GoLand的理由GoLand 最新变化GoLand 2023.3 最新变化AI Assistant 正式版GoLand 中的 AI Assistant:_Rename_(重命名)GoLand 中的 AI Assistant:_Write documentation_(编写文档&…...

linux中对信号的认识
信号的概念与相关知识认识 信号是向目标进程发送消息通知的的一种机制。 信号可以以异步的方式发送给进程,也就是说,进程无需主动等待,而是在任何时间都可以接收到信号。 信号的种类 用kill-l命令查看系统定义的信号列表: 前台…...

【万题详解】P1048 [NOIP2005 普及组] 采药
题目描述 链接——题目在这里!!! 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草…...

Golang基于Redis bitmap实现布隆过滤器(完结版)
Golang基于Redis bitmap实现布隆过滤器(完结版) 为了防止黑客恶意刷接口(请求压根不存在的数据),目前通常有以下几种做法: 限制IP(限流)Redis缓存不存在的key布隆过滤器挡在Redis前 …...

Java基础-内部类
内部类 引言内部类的共性成员内部类静态内部类非静态内部类 局部内部类匿名内部类内部类的使用场景和好处 引言 Java不仅可以定义变量和方法,还可以定义类. 内部类允许你把一些逻辑相关的类组织在一起,并可以控制内部中类的可见性. 这么看来,内部类就像是代码一种隐藏机制:将类…...

设计模式-行为型模式-职责链模式
在软件系统运行时,对象并不是孤立存在的,它们可以通过相互通信协作完成某些功能,一个对象在运行时也将影响到其他对象的运行。行为型模式(Behavioral Pattern)关注系统中对象之间的交互,研究系统在运行时对…...

代码随想录算法训练营第四十天|LeetCode343 整数拆分、LeetCode96 不同的二叉搜索树
343.整数拆分 思路:确定dp数组以及下标的含义 dp[i]代表 i可以被拆分后的最大乘积。确定递推公式,假如拆成连个数,dp[i] j*(i-j),拆成两个数以上,dp[i]j*dp[i-j],j的范围为1到i-1.dp[i]找到所有情况的最大值。初始化…...

接口自动化测试用例如何设计
说到自动化测试,或者说接口自动化测试,多数人的第一反应是该用什么工具,比如:Python Requests、Java HttpClient、Apifox、MeterSphere、自研的自动化平台等。大家似乎更关注的是哪个工具更优秀,甚至出现“ 做平台的 &…...

弱电综合布线:连接现代生活的纽带
在当今信息化快速发展的时代,弱电网络布线作为信息传输的重要基础设施,其作用日益凸显。它不仅保障了数据的高效流通,还确保了通信的稳定性。从商业大厦到教育机构,从政府机关到医院急救中心,再到我们居住的社区&#…...

Java零基础 - 数组的定义和声明
哈喽,各位小伙伴们,你们好呀,我是喵手。 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。 我是一名后…...

CSS补充(下),弹性布局(上)
高级选择器 1.兄弟选择器 2.同时满足 div.bg{background-color: red;}p.bg{background-color: green;}spam.bg{background-color: blue;}注:选择器中间没有空格,有明确标识的选择器写在后面 3.各种伪类的应用 3.1作为第几个子元素 选择器:nth-child…...

图数据库 之 Neo4j - 应用场景4 - 反洗钱(9)
原理 Neo4j图数据库可以用于构建和分析数据之间的关系。它使用节点和关系来表示数据,并提供实时查询能力。通过使用Neo4j,可以将大量的交易数据导入图数据库,并通过查询和分析图结构来发现洗钱行为中的模式和关联。 案例分析 假设有一家转账服务公司,有以下交易数据,每个…...

uboot分区介绍
RK平台的U-Boot支持两种分区表 RK paramter格式(旧)和 标准GPT格式(新),当机器上同时存在 两种分区表时,优先使用GPT分区表。无论是 GPT 还是 RK parameter,烧写用的分区表文件都叫parameter.t…...

快速收集诊断信息,敏捷诊断工具obdiag应用实践——《OceanBase诊断系列》之三
1. 前言 作为OceanBase的敏捷诊断工具,obdiag具有以下特点: 部署便捷:提供rpm包和OBD上部署的模式,都能够一键部署安装。用户可以选择将其部署到集群中任意一台能连接到各个节点的设备上,而不仅限于OBServer节点。即…...

C++错误总结(1)
1.定义函数类型时,如果没有返回值,用void void swap(int &x, int &y){ int tem x; x y; y tem; } 2.输入时,不加换行符 cin >> a >> b >> c >> endl ;(红色标记的是错误的部分) 3.【逆序出入…...

std::shared_from_this注意事项:exception bad_weak_ptr
1.不可以在构造函数中调用shared_from_this() 因为它的实现是: _LIBCPP_INLINE_VISIBILITYshared_ptr<_Tp> shared_from_this(){return shared_ptr<_Tp>(__weak_this_);}也就是它依赖的__weak_this_此时还未创建完成。 2.一定要public继承 class MyTy…...

【工具】Raycast – Mac提效工具
引入 以前看到同事们锁屏的时候,不知按了什么键,直接调出这个框,然后输入lock屏幕就锁了。 跟我习惯的按Mac开机键不大一样。个人觉得还是蛮炫酷的~ 调研 但是由于之前比较繁忙,这件事其实都忘的差不多了࿰…...

蓝桥杯集训·每日一题2024 (二分,双指针)
前言: 开学了,平时学习的压力也逐渐大起来了,不过还算可以接受,等到后面阶段考的时候就不一样了,我目前为了转专业退选了很多课,这些课我都需要花时间来刷绩点,不然保研就没有竞争力了。我自己会…...

在Linux(Ubuntu)中使用终端编译 vscode安装
文章目录 📚在Linux(Ubuntu)中使用终端编译🐇.cpp程序编译🐇.py程序编译🐇查看Python、C编程环境 📚vscode安装 📚在Linux(Ubuntu)中使用终端编译 虚拟机安装…...

官网正在被哪些产品蚕食,定制网站又被哪些建站产品挤占。
2023-12-09 16:22贝格前端工场 官网建设是一个被大多数人看衰的市场,本文来理性分析下,谁在蚕食这个市场,谁又在挤占这个产品生存空间,欢迎大家评论,探讨。 网站正在被以下产品形式取代: 1. 移动应用&…...