小甲鱼——元组字符串错题本

Python 小甲鱼课后习题第27讲:字符串(Ⅰ)-最新版 本篇博客包括小甲鱼课后习题为个人整理的易错题,仅供参考奥~ 阅读详情

概念题

 1. 请写出仅有一个元素 5 的元组。}]

5, 或者 (5,)=(-bw>,0O'
({@lxUp)'2u#KPM"b9?jd!i
解析:不要写成 (5),因为这样表示的是整数 5。

2,用一个专业的名词描述以下代码的行为?  

script, first, second, third = argv

解包。版权属于
;+j8m!]* cx|W<fh#~Ya)g23
解析:将赋值号右边变量的多个值拆分给(赋值号)左边各个变量的行为,我们称之为解包。8" 

3.如何修改一个元组Dt)9ldw!
FVw;bX?C"ydAM_Rvx9e$6[
答:创建一个新的元组,并赋值给同个变量。

4.有一天,居委会的大妈找上门,让你帮她用 Python 创建一个对象,用于登记接种新冠疫苗的情况。登记内容包含(姓名、生日、接种日期),你应该怎么做?Sbh@.
_DX]"z8`[QJ%9uPWF2:0Z3,@hmf

>>> checked = [("口口布", 19910220, 20210601), ("弓长飞", 19630509, 20210623), ("刘Baby", 19990520, 20210520)]

5.请问 "-520".zfill(10) 和 "-520".rjust(10, "0") 的执行结果一样吗?

不一样

>>> "-520".zfill(10)
'-000000520'
>>> "-520".rjust(10, "0")
'000000-520'

6.请问下面代码执行的结果是?

>>> "-520".center(6, "0").zfill(10)

正解:

>>> "-520".center(6, "0").zfill(10)
'00000-5200'

 7.请使用一行代码来检测列表中的每个元素是否为回文数,并返回一个结果为回文数构成的列表。)h|->
8yW$,?zDHpc|1+i_S3`s9ket{b&
提供的列表:["123", "33211", "12321", "13531", "112233"]C: mv&)f
IS!_ Q.7UVPe1HWJ<t]8xo>
返回的结果:['12321', '13531']

[each for each in x if each == each[::-1]]

8.请问下面代码打印的结果是什么?

>>> str1 = "xxxxx"
>>> str1.count("xx")

 2

count(sub[, start[, end]]) 方法是返回 sub 在字符串中不重叠的出现次数。什么叫“不重叠”呢?就是一个元素不能被重复匹配。OGt;j`?u|
还不理解的童鞋请看小甲鱼下面的图示就一目了然了。O!?pz+G5
Bcx;^hW_(#}qJ+FKEI*P-e{n98V
 

 9.3. 请问下面代码执行的结果是 A 还是 B 抑或是 C 呢(为了你可以更容易地计数,下面使用 * 表示空格)?d"znA|OUT6
U+d9*RwhOY8'q~@?DK=IF

  1. print(x)
  2. print(x.expandtabs(2))
  3. print(x.expandtabs(5))
  4. print(x.expandtabs(10))


A:来自:

  1. Hello****FishC
  2. Hello**ishC
  3. Hello*****FishC
  4. Hello**********FishC


B:

  1. Hello***FishC
  2. Hello*FishC
  3. Hello*****FishC
  4. Hello*****FishC


C:

  1. Hello*FishC
  2. Hello*****FishC
  3. Hello**********FishC


答:B。版权属于
#*j$xiIX{Qym1ORl+J6cE!-hsq
解析:是不是难以置信?是不是匪夷所思?如果是,那么说明你对制表键(tab)的理解可能不是很充分。bwD'4GPrj
"sX5k{EPy`6l2p(|rDLJ<I:aF
来,咱们一图胜千言~来自
3@aR`l-Ch_F!H5Q(MLV">z[

10.请问下面代码打印的结果是什么?BI8"0d
Qg7DE

>>> "I love FishC.com".translate(str.maketrans("love", "1234", "love"))

NxaF&PsSZ0!B+9(U~4i]n"X%`

答:'I  FishC.cm'K<IxS4)%D
.A'uTr~z<c?$jBG|1WVMgm4o
解析:嗯,这道题要考的是,str.maketrans() 方法是先执行替换还是先执行忽略操作。事实证明,如果传入了第 3 个参数,那么它是先忽略掉 'l'、'o'、'v'、'e' 4 个字符,然后再执行替换操作。xam[j 

请问下面代码执行的结果是?

>>> x = "我爱Pyhon"
>>> x.startswith(["你", "我", "她"])

isdecimal()、isdigit() 和 isnumeric() 这 3 个方法都是判断数字的,那么请问这其中哪一个方法 “最严格”,哪一个又是 “最宽松” 的呢?yXLv)DpP=#
F+y`bf:r,?6$Y5%9ZOk;nT^d
答:isdecimal() 方法是最严格的,只有真正意义上的数字才能得到 True;isnumeric() 方法是最宽松的,罗马数字、中文数字都不在话下。1Tn{9|H
5z]@U0{.`cIA:M3}d=8T!(oGeHSLR
解析:一般都是用于判断输入是否合法,能否进行下一步的运算,所以 isdecimal() 方法最严谨,使用的频率也相对会更多一些。

请使用一行代码判断 s 字符串中,是否所有字符都是英文字母?-1{~9J,.n`
6xq2A#k'5!(;nvIpw)Q+f?9>_yjB<
答:x.isalpha() and x.isascii()=SDq 3%
M
解析:请看上一题的解析,由于 isalpha() 方法判断的字母是 Unicode 编码中定义的字母,所以像 "FishC小甲鱼" 这样的字符串它也会返回 True,显然不符合题意。8LZ`eKF

因此,我们要进一步判断它是否为 ASCII 编码 

请问下面代码打印的内容是什么?

"www.ilovefishc.com".removeprefix("w.")

 

>>> "www.ilovefishc.com".lstrip("wcom.")
'ilovefishc.com'
>>> "www.ilovefishc.com".rstrip("wcom.")
'www.ilovefish'
>>> "www.ilovefishc.com".strip("wcom.")
'ilovefish'

请问下面的代码打印什么内容 

>>> "www.ilovefishc.com".removeprefix("w.")
>>> "www.ilovefishc.com".removeprefix("w.")
'www.ilovefishc.com'

 split() 方法常常被应用于对数据的解析处理,那么考考大家,如果要从字符串 "https://ilovefishc.com/html5/index.html" 中提取出 "ilovefishc.com",使用 split() 方法应该如何实现呢?

>>> "https://ilovefishc.com/html5/index.html".split('//')[1].split('/')[0]
'ilovefishc.com'
>>> "https://ilovefishc.com/html5/index.html".split('//')
['https:', 'ilovefishc.com/html5/index.html']
>>> "https://ilovefishc.com/html5/index.html".split('//')[1]
'ilovefishc.com/html5/index.html'
>>> "https://ilovefishc.com/html5/index.html".split('//')[1].split('/')
['ilovefishc.com', 'html5', 'index.html']
>>> "https://ilovefishc.com/html5/index.html".split('//')[1].split('/')[0]
'ilovefishc.com'

plain = list(input("请输入需要加密的明文(只支持英文字母):"))
key = int(input("请输入移动的位数:"))
    
base_A = ord('A')
base_a = ord('a')
    
cipher = []
for each in plain:
    if each == ' ':
        cipher.append(' ')
    else:
        if each.isupper():
            base = base_A
        else:
            base = base_a
        cipher.append(chr((ord(each) - base + key) % 26 + base))
    
print(''.join(cipher))

>>> s = "I" + " " + "love" + " " + "FishC"
>>> s
'I love FishC'
>>> s = " ".join(["I", "love", "FishC"])
>>> s
'I love FishC'

 请问下面代码会返回什么内容

>>> "我叫{name},我爱{0}。喜爱{0}的人,运气都不会太差^o^".format(name="小甲鱼", "python")

报错

是使用关键字进行索引的话,它必须放在位置索引的后面,否则就会报错

 请问下面的代码会打印什么内容

>>> "{{0}}".format(1)
>>> "{{0}}".format(1)
'{0}'

 在花括号外边套一层花括号,外层是对内层起到“注释“的作用。U
up
所谓”注释“,就是剥夺了花括号的特殊功能,使它变会一个正经的字符串。

 

动手题

1.请编写代码,测试一下到底是创建列表的速度快,还是创建元组的速度快?为了得到更精准的数据,请重复测试 100 次,并分别计算出平均时间。

import timeit
    
t_speed = timeit.repeat('t = (1, 2, 3, 4, 5)', repeat=100)
l_speed = timeit.repeat('l = [1, 2, 3, 4, 5]', repeat=100)
    
# 统计生成元组的平均时间
t_sum = 0
for each in t_speed:
    t_sum = t_sum + each
    
t_average = t_sum / len(t_speed)
    
# 统计生成列表的平均时间
l_sum = 0
for each in l_speed:
    l_sum = l_sum + each

l_average = l_sum / len(l_speed)
    
print("创建元组的平均时间是:", t_average)
print("创建列表的平均时间是:", l_average)  

2.请按照以下规则整理一个给定的字符串 s。s.yhkq
m>2G=`rz9ZPK#JX}*S-']
一个整理好的字符串中,两个相邻字符 s[j] 和 s[j+1],其中 0 <= j <= s.length - 2,要满足如下条件:G>j)"I
A#2N(']*=yl<pe5!D[9Gr)Z:~,CP

  • 若 s[j] 是小写字符,则 s[j+1] 不可以是相同的大写字符
  • 若 s[j] 是大写字符,则 s[j+1] 不可以是相同的小写字符
  • 如果 s[j] 和 s[j+1] 满足以上两个条件,则将它们一并删除


举例:

整理前:"FishCcCode"来自
整理后:"FishCcCode" -> "FishCode")f|_

整理前:"AbBaACc"Powered b
整理后:"AbBaACc" -> "AaACc" -> "AaA" -> "A"3KqO<jLb
cz
整理前:"AABaAbCc"P
整理后:"AABaAbCc" -> "AABbCc" -> "AACc" -> "AA"USC`c~IiE

请按要求整理好字符串,并将结果打印到屏幕上

s = input("请输入一个字符串:")
    
res = []
for each in s:
    if res and res[-1].lower() == each.lower() and res[-1] != each:
        res.pop()
    else:
        res.append(each)
    
for each in res:
    print(each, end='')

解析:这里比较难理解的应该是判断部分,它是先判断列表是否为空;如果不为空,则将列表中最后一个元素(即上一轮迭代放进去的字符)拿出来比对,大家都转换成小写,如果一样,那么说明它是同一个字母(此时可能是一个大写一个小写,两个都是大写,或者两个都是小写 3 种可能性);最后判断如果两者不相同,则说明是同一个字母的大小写。

3.给定的字符串 s 是按照如下规则存放的:它的偶数下标为小写英文字母,奇数下标为正整数。|]
题目要求:编写代码,将奇数下标的数字转换为相对于上一个字母偏移后的字母。:N{ry
q
比如 s = "a1b2c3" 转换后的结果是 "abbdcf"(a1 -> ab,b2 -> bd,c3 -> cf);s = "x7y8z9" 转换后的结果是 "xeygzi"(遇到最后字母 z ,则从 a 继续计算偏移) 

s = input("请按规则输入一个字符串:")
    
length = len(s)
res = []
# 获取字母 a 的编码值
base = ord('a')
    
# 从第一个元素开始,每次迭代跳过一个元素
for i in range(0, length, 2):
    # ord(s[i]) - base 操作得到一个字母的偏移值,比如 b 就是 1
    # 跟 26 求余数的作用是防止溢出,循环计算偏移
    shift = chr((ord(s[i]) - base + int(s[i+1])) % 26 + base)
    print(s[i]+shift, end="")

4.用户输入两个版本号 v1 和 v2,请编写代码比较它们,找出较新的版本。-H=7>j`I%]
S^vKDIFb6E?g|py8+oA<7">

科普:

版本号是由一个或多个修订号组成,各个修订号之间由点号(.)连接,每个修订号由多位数字组成,例如 1.2.33 和 0.0.11 都是有效的版本号。

从左到右的顺序依次比较它们的修订号,点号(.)左侧的值要比右侧的权重大,即 0.1 要比 0.0.99 大。


程序实现如下(请务必确保实现截图效果):|wF[ik
p'%BC0h(Z^MlaPbm<TJr@?kx-}:*

v1 = input("请输入第一个版本号,v1 = ")
v2 = input("请输入第二个版本号,v2 = ")
    
n, m = len(v1), len(v2)
i, j = 0, 0
    
while i < n or j < m:
    x = 0
    while i < n and v1[i] != '.':
        x = x * 10 + int(v1[i])
        i += 1
    i += 1
    y = 0
    while j < m and v2[j] != '.':
        y = y * 10 + int(v2[j])
        j += 1
    j += 1
    if x > y:
        print("v1")
        break
    elif x < y:
        print("v2")
        break
    
if x == y:
    print("v1 = v2")

5.编写一个加密程序,其实现原理是通过替换指定的字符进行加密,附加要求是实现密文逆向检测。I:|.2L(}bJ
bh]")<P>=eYxZ`*k+H@fo3QJ4{n2z^
程序实现如下(请务必确保实现截图效果):7]v2j`>[h
admof`sS~5-uXc2B)3zT

plain = input("请输入需要加密的明文:")
x = input("请输入需要替换的字符:")
y = input("请输入将要替换的字符:")
    
# 加密的代码
if len(x) != len(y):
    print("需要替换的字符数量必须跟将要替换的字符数量一致!")
else:
    cipher = plain.translate(str.maketrans(x, y))
    print("加密后的密文是:" + cipher)
    
# 检测冲突的代码
# flag 变量标志是否退出检测(只要找到一个冲突,就可以直接退出)
flag = 0
    
# 如果 x 中存在相同的字符,那么 y 对应下标的字符也应该是相同的
for each in x:
    if x.count(each) > 1 and flag == 0:
        i = x.find(each)
        last = y[i]
        while i != -1:
            if last != y[i]:
                print("由于替换字符出现冲突,该密文无法解密!")
                flag = -1
                break
    
            i = x.find(each, i+1)
    
# 如果 y 中存在相同的字符,那么 x 对应下标的字符也应该是相同的
for each in y:
    if y.count(each) > 1 and flag == 0:
        i = y.find(each)
        last = x[i]
        while i != -1:
            if last != x[i]:
                print("由于替换字符出现冲突,该密文无法解密!")
                flag = -1
                break
    
            i = y.find(each, i+1)

0. 给定一个字符串 text 和字符串列表 words,返回 words 中每个单词在 text 中的位置(要求最终的位置从小到大进行排序)。namyC&?~0
N^PC1I7;@z%v&s`.m"a'~YUDg[d(y
举例:版
PWi6=L8}Nav[%4g?R)!mu
text:"I love FishC and FishC love me"([S!1{Mu5n
words:"FishC"Powered 
输出:[[7, 11], [17, 21]]vpZVO=
W(]ji| pwZ#Ka`t:0I@"+nX?z
text:"I love FishC and FishC love me"%!A8<m."
words:"FishC love"Powe
输出:[[2, 5], [7, 11], [17, 21], [23, 26]]g?Jtod7
IMP@4:29txf'6v7-neCRl("ZEU
text:"FCFCF"Powere
words:"FCF FC"Powered
输出:[[0, 1], [0, 2], [2, 3], [2, 4]]Dr ?Cu
&+qz ?5LaGv![0^RO*p;>nk)ViEN
程序实现如下:版权属于

text = input("请输入text的内容:")
words = input("请输入words的内容:")
words = words.split()
    
result = []
for each in words:
    temp = text.find(each)
    while temp != -1:
        result.append([temp,temp+len(each)-1])
        temp = text.find(each, temp+1)
    
print(sorted(result))

1. 编写一个程序,判断输入的字符串是否由多个子字符串重复多次构成。)Nx@K
@'&x3O%Rj$#"EY4JV_5Kczm2rwMA9
举例:
oVI*0xqM='^Qj
输入:"FCFC"
输出:TruePo

输入:"FishCFish"来
输出:False

输入:"FCCF"
输出:FalseP
输入:"FishCFishc"Powere
^HA%&"d8oc49 @q;NMCYEuV`#Ij
程序实现如下:来

s = input("请输入一个由字母构成的字符串:")
    
n = len(s)
for i in range(1, n//2+1):
    # 如果子字符串的长度为i,则n必须可以被i整除才行
    if n % i == 0:
        # 如果子字符串的长度为i,则i到i*2之间是一个重复的子字符串
        if s.startswith(s[i:i*2]) and s.count(s[i:i*2]) == n/i:
            print(True)
            break
# for...else的用法,小甲鱼希望大家还没有忘记哦^o^
else:
    print(False)

0. 编写一个生成凯撒密码的程序来自:https://fishc.com.cn
toYkF7s}{9RiUmQecpGWDa@J_v#(V

科普:

凯撒密码最早由古罗马军事统帅盖乌斯·尤利乌斯·凯撒在军队中用来传递加密信息,故称凯撒密码。


原理:版权
凯撒密码是一种通过位移加密的方法,对 26 个(大小写)字母进行位移加密,比如下方是正向位移 6 位的字母对比表:}ZfMu,g
&CfcOpLN|k<"7JE;j 3:nI_}
明文字母表如下Po
E 3`MSZh:s5n>L4(2],KG_C
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzN05W+x>:cn

密文字母表如下版权属于
GHIJKLMNOPQRSTUVWXYZABCDEFghijklmnopqrstuvwxyzabcdef5Agqd;2Hvy
oZg0FNKO`;{I8.,ltAf+JB5j#"^E_v
所以,如果给定加密的明文是:版权属于
I love FishC?#WpsLfK.0
7
那么程序加密后输出的密文便是:来自
O rubk LoynI&Hb;q%


程序实现如下:Pow

plain = list(input("请输入需要加密的明文(只支持英文字母):"))
key = int(input("请输入移动的位数:"))
    
base_A = ord('A')
base_a = ord('a')
    
cipher = []
for each in plain:
    if each == ' ':
        cipher.append(' ')
    else:
        if each.isupper():
            base = base_A
        else:
            base = base_a
        cipher.append(chr((ord(each) - base + key) % 26 + base))
    
print(''.join(cipher))

. 给定一个字符串数组 words,只返回可以使用在美式键盘同一行的字母打印出来的单词,键盘布局如下图所示。nc|F
=


WjD+)_^es%[iY!;8"J0Mw]5,d
美式键盘中:
[|]!l_G8g-#(R*HcSi'Y@C$7.N:j

  • 第一行由字符 "qwertyuiop" 组成
  • 第二行由字符 "asdfghjkl" 组成
  • 第三行由字符 "zxcvbnm" 组成


举例:
~S'!p9|YtG*)Uf^(T 7=Nv`M0+-iH]
输入:words = ["Twitter", "TOTO", "FishC", "Python", "ASL"])n~CxAJuP8
K
输出:['Twitter', 'TOTO', 'ASL']

words = ["Twitter", "TOTO", "FishC", "Python", "ASL"]

res = []
for i in words:
    # 由于单词存在大小写,所以这里统一先转换为小写字母
    j = i.lower()
    # 灵活运用 strip() 方法,判断 j 是否所有字符都在键盘的同一行内
    if j.strip("qwertyuiop") == '' or j.strip("asdfghjkl") == '' or j.strip("zxcvbnm") == '':
        res.append(i)

print(res)

0. 请编写一个程序,统计字符串中的单词个数(“单词”以空格进行分隔)c)IU[b4
jvQhg+u2p{eE*f. H[5wDo
举例
g;hj%+c &rLyi`dGU}{,56"XP<
输入:(空字符串)
输出:0版
k?9:fZNH&E0rMuOb{Kp3S]Y6B$@X.
输入:Python  
输出:1Po
3l{5)U?S%B(1fnAD!xsc
输入:I love FishC
输出:3

s = input("请输入测试字符串:")
print(len(s.split()))

1. 请编写一个程序,将用户输入的字符串重新格式化,使得字母和数字相互分隔(即一个字母一个数字相互间隔)]|>*nokX2y
zch!0}~lD4t9_TL<^,gk[E|-.S
举例:
Ru[mi}~_J%nh,z)q+c4GV*
输入:FishC1314
输出:F1i3s1h4C
+',hDcplo.U>ya?i E%SB6g
输入:FishC520P
输出:字符串中数字和字母的数量不满足重新格式化的条件T2fqeE9I{s
=(I`eloUa'K%#Ag5X"VdB74r~[
输入:Python6543210
输出:6P5y4t3h2o1n0

s = input("请输入测试字符串:")
    
str09 = []
strAZ = []
    
# 将数字和字母进行归类存放
for each in s:
    if each.isdecimal():
        str09.append(each)
    else:
        strAZ.append(each)
    
len09 = len(str09)
lenAZ = len(strAZ)
    
# 如果两个容器的元素个数相差 1 个以上,则不满足重新格式化的条件
if abs(len09 - lenAZ) > 1:
    print("字符串中数字和字母的数量不满足重新格式化的条件。")
else:
    if len09 > lenAZ:
        shorter = strAZ
        longer = str09
    else:
        shorter = str09
        longer = strAZ
    
    result = []
    for i in range(len(shorter)):
        result.append(longer[i])
        result.append(shorter[i])
    
    # 由于 longer 是有可能等于 shorter 的,就不必执行下面这一步
    if len(longer) > len(shorter):
        result.append(longer[-1])
    
    print("".join(result))

0. 相信大家对于压缩和解压缩的操作并不陌生,但对其内部的实现原理,你又知道多少呢?l4sjf{)Wo_
:n%rFO2=a9&{b!#>MK*i6
接下来请大家跟着题目的提示,一起来实现字符串的压缩和解压缩吧。Xemg9.-|
rq-kvI<2*VS 1c_5Bu:Ulw(mJ
利用字符重复出现的次数,编写一个程序,实现基本的字符串压缩功能。比如,字符串 FFiiiisshCCCCCC 压缩后变成 F2i4s2h1C6(15字符 -> 10字符,66% 压缩率)。kW@!R^(hyb
MB:;t5'CkSnFU.Ef"(wR{!8=oVvD
这种朴素的压缩算法并不总是理想的,比如 FFishCC 压缩后反而变长了 F2i1s1h1C2,这可就不是我们想要的了,所以对于重复次数小于 3 的字符,我们的程序应该选择不对其进行压缩。 2S4!?
7] plb.S9{125ex?}8(@ZNJ6g#<wu
好了,大家开始写代码吧~版权
程序实现如图所示:Power
 

1. 请大家编写一个解压程序,将上一题压缩后的字符串进行解压缩。*jV9+4
$>MP)0u.L^p}(IcDl!jz]_J%yW'BZw
程序实现如图所示:

 

 


!@JN^|k.mP"Z&(ruQd~%1:y

2.6 SST的核心性能指标体系 本文构建了固态变压器(SST)的核心性能指标体系,涵盖电气性能、可靠性、经济性和环境适配性四大类指标。电气性能指标包括运行效率(≥97%)、功率密度(≥900kVA/m³)、谐波畸变率(≤3%)等关键参数;可靠性指标设定MTBF≥43800h、年均故障率≤1.2次/年等标准;经济性指标对比分析了初始购置成本(45-55万元)和全生命周期成本(48-55万元);环境适配性指标则明确了温度、海拔等工况要求。该体系采用量化公式和国标限值,为SST的性能测试、选型和优化提供了统一标准。 阅读详情

相关推荐

usb设备的定位信息获取

一个usb hub有20个口,每个口有一个标号,那么如果一个为X的标号插入了一个android设备,如何通过函数,得到这个X,代码实现如下,获取了location, 得到类似 Port_#0002.Hub_#0003 的字符串,然后,要对应一个表。

babytiger的专栏 2106

Python之条件判断语句小练

#分支语句 #顺序结构,选择分支结构,循环结构 #对于顺序结构来说,每一行都必须执行,且每一行都必须顶格写 #对于选择分支结构,每次只执行一个分支,分支语句必须有缩进 #写一个代码,对于分数大于等于90的,打印优秀,否则对于分数大于等于80分的,打印不错,否则对于分数大于等于60分的,打印及格,否则打印不及格 #score=98 #if score>=90: 3# print(“优秀”) #elif score>=80: 3# print(“不错”) #elif score>=

m0_50708926的博客 332

基于ABCDRez的激光谐振腔设计与热透镜效应仿真实践

本文详细介绍了如何利用ABCDRez代码包进行激光谐振腔设计与热透镜效应仿真。通过ABCD矩阵理论和高斯光束q参数,该工具能有效模拟热透镜动态变化对腔稳定性的影响,指导腔型优化与热补偿设计,是固体激光器预研与调试的高效辅助手段。

weixin_29093017的博客 290

python:用户输入两个版本号 v1 和 v2,请编写代码比较它们,找出较新的版本。

版本号是由一个或多个修订号组成,各个修订号之间由点号(.)连接,每个修订号由多位数字组成,例如 1.2.33 和 0.0.11 都是有效的版本号。从左到右的顺序依次比较它们的修订号,点号(.)左侧的值要比右侧的权重大,即 0.1 要比 0.0.99 大。

m0_73873148的博客 775

GEE:基于自定义的年度时序数据集进行LandTrendr变化检测

本文介绍了使用年度时序数据进行LandTrendr变化检测的方法,包括核心函数调用、参数设置和结果可视化。通过筛选参数(年份、变化幅度和持续时间)对结果进行过滤,输出变化年份、变化幅度和持续时间。代码提供了完整的处理流程,包括数据输入、LandTrendr算法运行、结果筛选与可视化,并支持结果导出。适用于基于Google Earth Engine平台的地表变化检测分析。

养乐多的博客 752

零基础快速学习 ABAP 读者意见反馈和下一步写作计划表

大家在学习教程过程中,如果有任何关于 SAP ABAP 开发方面想了解的内容,可以直接在教程各篇文章下评论留言,我会将大家的意见统一汇总到下面的表格,作为我更新教程的内容参考来源之一。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4273

用户输入两个版本号 v1 和 v2,请编写代码比较它们,找出较新的版本

对比 `x` 和 `y`(即当前版本号部分的数字),如果 `x > y`,则输出 `v1`(意味着 `v1` 更大),如果 `x < y`,则输出 `v2`(意味着 `v2` 更大)。- 第三次循环:`x = 3`(`v1` 的第三部分),`y = 4`(`v2` 的第三部分)。因为 `x < y`,输出 `v2`。- 第一次循环:`x = 1`(`v1` 的第一部分),`y = 1`(`v2` 的第一部分)。- 第二次循环:`x = 2`(`v1` 的第二部分),`y = 2`(`v2` 的第二部分)。

VAKAawaking的博客 812

基于YOLOv10的微小目标检测,多头检测器提升小目标检测精度

引入多头检测器助力YOLOv10,暴力提升小目标检测性能

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 2569

回文数判断代码

回文数题目代码

weixin_45406539的博客 560

SAP 系统和银行系统通过 SM2 加密算法进行集成

SM2 是基于椭圆曲线离散对数问题(ECDLP)的一种公钥密码算法。椭圆曲线加密的核心原理,是利用了一个数学难题:在椭圆曲线群上,已知曲线上两点的运算结果,逆向推导出这两个点的具体信息是非常困难的。这样的复杂度使得基于椭圆曲线的密码体制比传统的 RSA 更加难以破解。在 SM2 加密中,公钥和私钥的生成与传统的椭圆曲线加密类似。选择一个椭圆曲线和一个基点 P。使用私钥 d,计算公钥 P’ = d * P。私钥 d 保密,而公钥 P’ 可公开分发,用于加密数据。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1212

RK3588网卡出现丢包或者带宽不足的问题验证排查

注意除了有最大的TCP数据接收缓冲,还有/proc/sys/net/core/wmem_max — 最大的TCP数据发送缓冲可以调整,这里暂时没用到,针对具体需要可适当调整。比如把ethx接口中断从默认的cpu0迁移到其它cpu,例如将eth0中断234移到cpu7 (10是16进制, cpu0 =3588的cpu有8个核,4个A55(小核)+4个A76(大核),可以找到对应中断 将中断从默认cpu0核切到cpu7。tcp_rmem:单位是字节,接收缓存区大小,缓存从对端接收的数据,后续会被应用程序读取。

Android/Linux驱动开发传帮带学习,让驱动入门门槛更低! 2030

Python零基础入门:课后作业高效刷题方法与高频踩坑指南

在编程入门学习中,变量、循环、函数等基础语法概念是构建编程能力的基石。理解这些概念的核心原理——如数据类型转换、作用域与返回值机制——直接决定了代码能否正确运行。掌握扎实的基础语法,能帮助初学者快速定位并修复缩进错误、中文符号、边界条件等常见问题,提升调试效率与代码质量。这些基础能力广泛应用于自动化脚本、数据处理、小型工具开发等场景。小甲鱼零基础入门课程的课后作业正是围绕这些核心知识点设计,通过科学刷题、错题记录与阶段复习,帮助学习者在动手实践中真正掌握Python编程基础。

weixin_29254673的博客 92

手把手教你学Simulink——基于传统电网建模与稳定性分析的场景实例:基于同步发电机的单机无穷大系统建模与稳定性分析

本文详细介绍了使用MATLAB/Simulink进行单机无穷大系统(SMIB)建模与稳定性分析的方法。教程从系统结构设计入手,包含同步发电机、输电线路、无穷大母线等核心模块的建模步骤和参数配置示例。重点讲解了七个关键步骤:项目创建、模块配置、控制系统集成、负载添加(可选)以及仿真运行与结果分析,并提供了具体的MATLAB代码示例。最后通过性能评估指标(功角差、电压跌落、频率偏差)分析系统稳定性,为电力系统动态特性研究提供了实用指导,强调准确参数设置对仿真结果的重要性。

MHD0815的博客 298

(小甲鱼字符串II编程)1.用户输入两个版本号 v1 和 v2,请编写代码比较它们,找出较新的版本。2.编写一个加密程序,其实现原理是通过替换指定的字符进行加密,附加要求是实现密文逆向检测。

(小甲鱼字符串II编程)1.用户输入两个版本号 v1 和 v2,请编写代码比较它们,找出较新的版本。2.编写一个加密程序,其实现原理是通过替换指定的字符进行加密,附加要求是实现密文逆向检测。

qq_44985415的博客 502

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

python实现判断回文数

输入一个数字(如果推出,按e或E)判断是否为回文数,如果是,返回这是一个回文数,如果不是,这不是一个回文数 回文数,前后数字一样称为回文数,比如,12321 while True: hui = input('请输入一个数或用e退出:') if hui in ['e','E']: break else: converStr = hui[::-1] if converStr == hui: print('这是一个回文

tlucky的博客 2万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

字节 青训营 X 豆包MarsCode 技术训练营 2024 入营考核

2024年10.23更新了java和python的提交后 发现有的题目名称和最开始的有些不一样了。

Tankoldbang的博客 2919

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

165.比较版本号

165. 比较版本号 给你两个版本号 version1 和 version2 ,请你比较它们。 版本号由一个或多个修订号组成,各修订号由一个 '.' 连接。每个修订号由 多位数字 组成,可能包含 前导零 。每个版本号至少包含一个字符。修订号从左到右编号,下标从 0 开始,最左边的修订号下标为 0 ,下一个修订号下标为 1 ,以此类推。例如,2.5.33 和 0.1 都是有效的版本号。 比较版本号时,请按从左到右的顺序依次比较它们的修订号。比较修订号时,只需比较 忽略任何前导零后的整数值 。也就是说,修订号

YouMing_Li的博客 1340

第014-15讲:字符串 (见小甲鱼新版27讲-32讲)| 课后测试题及答案

由于小甲鱼最新版python已更新至函数,且新版的逻辑脉络更清晰,课后测试习题使用新版试题 字符串的各种方法大合集 https://fishc.com.cn/thread-183975-1-3.html 第027讲:字符串(I)| 课后测试题及答案 大小写字母换来换去 capitalize()、casefold()、title()、swapcase()、upper()、lower() 左中右对齐 center(width, fillchar=’ ‘)、ljust(width, fillchar=’ ‘)

ChaseTimLee的博客 3216

测开之路二十:比较v1和v2

根据V1和V2的版本号,如果v1>v2,返回1,如果v1<v2,返回-1,除此之外返回0 # 如果v1>v2,返回1,如果v1<v2,返回-1,除此之外返回0v1 = input("输入第一个版本号:")v2 = input("输入第二个版本号:")v1 = v1.split(".")# 将字符串转化为整数数组version1 = []for v in v1...

weixin_30900589的博客 753

LeetCode 165 比较版本号 NC104 比较版本号

给你两个版本号 version1 和 version2 ,请你比较它们。 版本号由一个或多个修订号组成,各修订号由一个 '.' 连接。每个修订号由 多位数字 组成,可能包含 前导零 。每个版本号至少包含一个字符。修订号从左到右编号,下标从 0 开始,最左边的修订号下标为 0 ,下一个修订号下标为 1 ,以此类推。例如,2.5.33 和 0.1 都是有效的版本号。 比较版本号时,请按从左到右的顺序依次比较它们的修订号。比较修订号时,只需比较 忽略任何前导零后的整数值 。也就是说,修订号 1 和修订号 00

麦格芬230的博客 796

python中expandtabs()函数的用法

python字符串函数用法大全链接 expandtabs()函数 描述:返回一个字符串的副本。使原字符串中的制表符("\t")的使用空间变大。使用空格来扩展空间。 语法: str.expandtabs(tabsize=8)  —&gt; str  返回字符串 tabsize 的默认值为8。tabsize值为0到7等效于tabsize=8。tabsize每增加1,原字符串中“\t”的空间会多...

九天小牛 4885

python编程题

7-1 jmu-Java&Python-统计一段文字中的单词个数并按单词的字母顺序排序后输出 (10 分) 现需要统计若干段文字(英文)中的不同单词数量。如果不同的单词数量不超过10个,则将所有单词输出(按字母顺序),否则输出前10个单词。 注1:单词之间以空格(1个或多个空格)为间隔。注2:忽略空行或者空格行。注3:单词大小写敏感,即'word'与'WORD'是两...

weixin_30747253的博客 10万+

Python Leetcode_list

434. 字符串中的单词数 方法一:split class Solution: def countSegments(self, s: str) -> int: return len(s.split()) 方法二:标记 class Solution: def countSegments(self, s: str) -> int: res = 0 flag = True for c in s:

yake1965 717

跟小甲鱼自学python笔记 字符串作业更新中…

看完这些笔记自己就可以入门Python了 在B站上看小甲鱼的视频,顺便整理一下自己的笔记。 1、如何定义一个跨越多行的字符串 方法一: str1 = ''' 待我长发及腰,将军归来可好? 此身君子意逍遥,怎料山河萧萧。 天光乍破遇,暮雪白头老。 寒剑默听奔雷,长枪独守空壕。 醉卧沙场君莫笑,一夜吹彻画角。 江南晚来客,红绳结发梢。 ''' 方法二:str2 = ' 待卿长发及腰,我必凯旋回朝。 \...

A_Tu_daddy的博客 395

【小甲鱼Python】字符串:各种奇葩的内置方法&&课后作业

笔记 字符串的索引、切片、拷贝和成员操作 都与元组,列表一样。 修改字符串 与元组类似,使用切片和+操作符间接实现: str1 = 'I love fishC.com.' str1 = str1[:6] + '插入的字符串' + str1[6:] 字符串的各种方法 https://fishc.com.cn/forum.php?mod=viewthread&tid=38992...

一个自学者记录笔记和学习过程的地方 757

python expandtabs_Python 字符串 expandtabs() 使用方法及示例

Python 字符串 expandtabs() 使用方法及示例expandtabs()方法返回一个字符串副本,其中所有制表符'\ t'都用空格字符替换,直到tabsize参数的下一个倍数为止。expandtabs()方法的语法为:string.expandtabs(tabsize)expandtabs()参数expandtabs()采用整数tabsize参数。预设tabsize值为8。expand...

weixin_36356040的博客 1004
上一篇: 小甲鱼——元组和字符串
下一篇: 小甲鱼——序列
我先成为我自己
博客等级 码龄3年 96粉丝 32原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值