内容正文:
专题07 字符串处理、队列、栈 小题
1.【2023年1月浙江省选考真题信息技术第9题】有1个队列,队首到队尾的元素依次为8,3,2,9,5。约定:T操作是指队列中1个元素出队后再入队,Q操作是指队列中1个元素出队。则经过TTTQTTQ系列操作后,队列中队首到队尾的元素依次为( )
A.2,9,5 B.2,5,8 C.5,8,2 D.8,3,2
2.【2023年1月浙江省选考真题信息技术第12题】有如下Python程序段:
import random
a= ['A', 'B', '#', '#', 'C', 'D', '#']
stk = [0] * len(a); top = -1
for i in range(len(a)) :
op = random. randint(0, 1) #随机生成0或1
if op == 1 and a[i] != '#' :
top += 1; stk[top] = a[i]
a[i] = '#'
elif op == 0 and top != -1 and a[i] == '#' :
a[i] = stk[top]; top -= 1
执行该程序段后,a的值不可能的是( )
A. ['A','B','#','#','C','D','#'] B. ['#','#','#','#','#','#','#']
C. ['#','B','#','#','C','D','A'] D. ['#','#','A','B','C','D','#']
3.【2023年2月浙江十校联盟高三信息技术第7题】有如下Python程序段:
s1 = "1324" ; s2 = "friendly"
j = 0 ; m = 0 ; c = ""
for i in range(len(s2)):
k = int(s1[j])
c = c + s2 [m + k - 1]
j = j + 1
if j > 3 :
j = 0
m = m + 4
print(c)
执行该程序段后,变量c的值是( )
A."firenldy" B."firendly" C."frienldy" D."friendly"
4.【2023年2月浙江十校联盟高三信息技术第12题】有如下 Python 程序段:
from random import randint
s=[0]*10
a=[5, 7, 2, 8, 4, 3, 6]
top=0 ; s[top]=a[0] ; b=0
n=randint(5,len(a))
for i in range(1,n) :
while top!=-1 and a[i]>s[top]:
top-=1
top+=1
s[top]=a[i]
while top!=- 1:
b=b+s[top]
top-=1
print(b)
程序运行后,不可能输出的结果是( )
A.12 B.14 C.15 D.21
5.【2023年2月名校协作体高三信息技术第8题】利用栈求逆波兰表达式的值时,若栈只有两个存储单元,下列表达式中,不会发生溢出的是( )
A. ABC*-D-
B.ABCD-*-
C. AB-C*D-
D. AB-CD-*
6.【2023年2月名校协作体高三信息技术第11题】下列Python程序段功能为:输入由英文字母组成的字符串,若字符串中有连续升序段(相邻字符ASCII码值增量为1),则把该升序段缩写为“首字符-尾字符”构成的新字符串。例如:字符串为“abcbxy”,则缩写成“a-cbx-y”。
s=input("请输入字符串:")
k=len(s);flag=False;result=""
for i in range(0,k-1):
if ① :
result=result+s[i]+"-"
flag=True
elif ord(s[i])!=ord(s[i+1])-1:
result=result+s[i]
flag=False
②
print("缩写后的字符串为",result)
则划线处应填入的代码为
A.① ord(s[i])==ord(s[i+1])-1