浙教版(2019)選修1《3.1 字符串》2022年同步練習卷(1)
發(fā)布:2024/4/20 14:35:0
一、選擇題
-
1.某加密算法程序段如下所示:
def jiami(x):
if“A“<=x<=“Z“:
y=chr(ord(x)+32)
elif“0“<=x<=“9“:
y=str((int(x)+1)%10)
else:
y=x
return y
mingwen=input(“請輸入明文:“)
miwen=““
for x in mingwen:
miwen=miwen+jiami(x)
print(“密文為:“,miwen)
輸入“Abc@789”并運行程序,輸出結果是( )組卷:2引用:1難度:0.5 -
2.有如下Python程序段:
執(zhí)行該程序段后,輸出的內(nèi)容是( ?。?/h2>組卷:1引用:4難度:0.5
一、選擇題
-
7.有如下Python程序段:
s=“China“;t=[1,3,2];res=“”
for i in range (len(s)):
m=t[i% len(t)]
n=ord(s[i])+m
res=res+chr(n)
print (res)
運行該程序段后,輸出的結果是( )組卷:0引用:2難度:0.4
二、非選擇題
-
8.字符串分段。輸入一串僅由小寫字母組成的字符串s,將這個字符串劃分為盡可能多的小片段,要求同一個字母只出現(xiàn)在其中的一個片段中,并按照分段順序逐行輸出分段結果。程序運行界面如圖所示。
(1)實現(xiàn)上述功能的Python程序如下,請在橫線處填入合適的代碼。
s=input(“請輸入一串僅包含小寫字母的字符串:”)
c=0
p=[-1]*52#數(shù)組p用來記錄各個小寫字母出現(xiàn)的起始位置和結束位置
#a[0]記錄a出現(xiàn)的起始位置,a[1]記錄a出現(xiàn)的結束位置,依次類推
for i in range(0,len(s)):#記錄各字符第一次和最后一次出現(xiàn)的位置
a=①
if p[2*a]==-1:
p[2*a]=i
else:
p[2*a+1]=i
for i in range(0,26):
if p[2*i]>p[2*i+1]:
p[2*i+1]=p[2*i]#只出現(xiàn)一次的字符,起始位置就是結束位置
if p[2*i]!=-1:
c+=1
for i in range(o,c):將字符位置按照出現(xiàn)的起始位置升序排序
for j in range(25,i,-1):
if p[2*j]>-1:
if p[2*(j-1]>p[2*j]or②
p[2*(j-1)],p[2*j]=p[2*j],p[2*(j-1)]
p[2*(j-1)+1],p[2*j+1]=p[2*j+1],p[2*(j-1)+1]
t1,t2=p[0],p[1]#字符串分段
for i in range(1,c):
if p[2*i]<t2 and p[2*i+1]>t2:
③
elif p[2*i]>t2:
print(s[t1:t2+1])
tl,t2=p[2*i],p[2*i+1]
print(s[t1:t2+1])
(2)運行程序后,若輸入的字符串s為“hshjhqueeqabaa”,輸出的結果一共有組卷:7引用:3難度:0.4