内容正文:
诸暨市2024-2025学年第一学期期末考试试题
高二信息技术试题
共50分
一、选择题(本大题共 12 小题,每小题 2 分,共 24 分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 2024年12月20日早上,小明想了解未来几天的天气情况,他从某APP中查询到2024-12-21至2024-12-24的天气预报如下表所示。
日期
最低气温
最高气温
天气
风力
2024-12-21
-1
10
雾
北风3级
2024-12-22
0
7
多云
东北风2级
2024-12-23
3
11
多云
东北风2级
2024-12-24
4
14
阴
东北风3级
下列有关数据、信息和知识的说法正确的是( )
A. 表格中列出的最高气温是数据,而天气不是数据
B. 小明根据天气预报情况,提醒父母要多穿衣服,这是智慧的体现
C. 小明在这一天的晚上查询同时段天气发现气温有些变化,说明信息具有时效性
D. 小明通过无线网络查询天气预报,说明信息的传递有时不需要载体
【答案】C
【解析】
【详解】本题考查的是数据、信息和知识。表格的气温和天气描述都是数据,天气是数据的一种表现形式。表格信息属于数据和信息的处理,而智慧是更复杂的能力,不是简单的提醒。信息具有时效性,因为随着时间推移,信息可能会发生变化。信息传递仍需载体,无线网络本身就是一种传递载体。故本题应选C。
2. 2024年12月20日早上,小明想了解未来几天的天气情况,他从某APP中查询到2024-12-21至2024-12-24的天气预报如下表所示。
日期
最低气温
最高气温
天气
风力
2024-12-21
-1
10
雾
北风3级
2024-12-22
0
7
多云
东北风2级
2024-12-23
3
11
多云
东北风2级
2024-12-24
4
14
阴
东北风3级
下列有关数字、数值和数据的说法,正确的是( )
A. 数据必须包括数字
B. 数据是对客观事物的符号表示,其表现形式较为单一
C. 表中的数据只有数字和数值两种表现形式
D. 表中2024-12-21日的最高气温“10”是数值
【答案】D
【解析】
【详解】本题考查的是数据相关知识。数据可以是文字、符号、图像等,不仅限于数字;数据的表现形式可以多种多样;表中天气和风力用词汇描述,除了数字和数值,还有文字。故本题应选D。
3. 2024年12月20日早上,小明想了解未来几天的天气情况,他从某APP中查询到2024-12-21至2024-12-24的天气预报如下表所示。
日期
最低气温
最高气温
天气
风力
2024-12-21
-1
10
雾
北风3级
2024-12-22
0
7
多云
东北风2级
2024-12-23
3
11
多云
东北风2级
2024-12-24
4
14
阴
东北风3级
下列有关数据、数据项、数据元素的说法不正确的是( )
A. 数据元素是数据的基本单位
B. 表中每个数据元素由5个数据项组成
C. 表中共有5个数据元素,4个数据项
D. “天气”是数据项名称,“多云”是数据项的值
【答案】C
【解析】
【详解】本题考查的是数据相关知识。在数据表中,数据元素是一个完整的记录,例如每一行数据。表中从 2024-12-21 至 2024-12-24,一共有 4 行,即有 4 个数据元素,而每个数据元素包含 5 个数据项,故本题应选C。
4. 关于数据安全,下列做法正确的是( )
A. 专业人士要做好数据安全,普通人不需要关注数据安全
B. 对于数据安全,不仅要做好防护上的安全,还应提高数据本身的安全
C. 为了保证数据完整性可以进行数据加密
D. 只要保护好存储数据的介质,就能做到数据安全
【答案】B
【解析】
【详解】本题考查数据安全。A选项错误,数据安全关乎每一个人,并非只有专业人士需要关注。普通人在日常生活中也会涉及大量数据,如个人身份信息、财务信息等,若不注意数据安全,可能导致个人信息泄露,遭受诈骗等风险,所以每个人都应对数据安全予以重视。B选项正确,数据安全涵盖多个方面,防护上的安全,例如防止网络攻击、恶意软件入侵等,保障数据不被非法获取或篡改;同时提高数据本身的安全,像确保数据的准确性、完整性等,这两方面都做好才能全面保障数据安全。 C选项错误,数据加密主要目的是保证数据的保密性,通过加密算法将数据转化为密文,只有拥有解密密钥的人才能还原数据,防止数据在传输或存储过程中被窃取后被轻易解读。而保证数据完整性通常采用数据校验、哈希算法等方式,以确保数据在传输或存储过程中没有被意外修改或损坏。D选项错误,保护好存储数据的介质只是数据安全的一部分。数据在传输过程中也面临风险,如网络传输可能被截获;同时,即使介质安全,若操作系统、应用程序存在漏洞,也可能导致数据被非法访问或篡改。所以仅保护好存储介质不能完全做到数据安全。因此,本题选择B。
5. 下列关于数据结构的说法,正确的是( )
A. 常见的线性关系数据结构有数组、链表、队列等
B. 数组是一种适合用于组织、存储涉及频繁插入与删除的数据结构
C. 游客们排队有序进入景区体现了栈的思想
D. 数据结构设计只要考虑数据对象的存储结构
【答案】A
【解析】
【详解】本题考查的是数据结构。线性关系的数据结构包括数组、链表、队列等,其中这些结构按顺序存储数据。数组虽然用于定长数据且实现简单,但不适合频繁插入与删除的操作,因为插入和删除涉及移动大量元素,效率较低。而游客排队有序进入景区体现的是队列的思想,遵循“先进先出”原则,而栈是“后进先出”。数据结构设计需要考虑的不仅是数据对象的存储结构,还需要考虑数据操作的便利性和效率。故本题应选A。
6. 下列关于链表的说法,不正确的是( )
A. 链表占用的存储空间不固定
B. 链表中不一定有头指针
C. 链表的节点由数据区域和指针区域两部分组成
D. 在链表中插入一个节点,只需要修改部分节点的指针
【答案】B
【解析】
【详解】本题考查的是链表。链表通常有一个头指针(或头节点),用来指向链表的第一个节点,并用于管理链表结构。因此,链表通常需要一个头指针来标识链表的起始位置。其他选项中,链表占用的存储空间不固定,因为链表是动态数据结构,其空间根据需要动态分配;链表节点的典型组成结构确实包括数据区域和指针区域;插入节点时只需修改相关节点的指针,不需要移动其他节点。故本题应选B。
7. 某算法的部分流程图如图所示,执行这部分流程后,输出 s 的值为 64,则①处应填入( )
A. i%2==0 B. i%2==1
C. i//4<2 D. i**0.5==int(i**0.5)
【答案】A
【解析】
【详解】本题主要考查流程图识读。执行这部分流程后,输出s的值为64,即s=1*2*2*2*2*2*2=64,即语句s=s*2执行了6次,变量i的范围是0~10,其中偶数0、2、4、6、8、10,奇数1、3、5、7、9,偶数共6个,奇数共5个,故对应①处应填入i%2==0,故本题选A选项。
8. 如图所示的二叉树,其节点的中序遍历的序列为( )
A. ABCDEFG B. GDBEACF C. GDEBFCA D. ABDGECF
【答案】B
【解析】
【详解】本题主要考查二叉树的遍历。中序遍历,即先遍历左子树、再遍历根节点、最后遍历右子树。由图可知,其节点的中序遍历的序列为GDBEACF,故本题选B选项。
9. 若队列数据元素为“LUCKY”,现对该队列进行下列操作:
第①步队首元素出队并入栈;第②步队首元素出队后再入队;重复①②步操作直到队列为空。则栈中从栈顶到栈底的值依次是( )
A. LCYKU B. LUCKY C. UKLYC D. UKYCL
【答案】D
【解析】
【详解】本题考查栈,队列。
初始队列元素为 “LUCKY”,栈为空。 第①步:队首元素 “L” 出队并入栈,此时队列变为 “UCKY”,栈为 “L”。 第②步:队首元素 “U” 出队后再入队,此时队列变为 “CKYU”,栈为 “L”。再次执行①②步: 第①步:队首元素 “C” 出队并入栈,此时队列变为 “KYU”,栈为 “CL”。 第②步:队首元素 “K” 出队后再入队,此时队列变为 “YUK”,栈为 “CL”。 继续执行①②步: 第①步:队首元素 “Y” 出队并入栈,此时队列变为 “UK”,栈为 “YCL”。 第②步:队首元素 “U” 出队后再入队,此时队列变为 “KU”,栈为 “YCL” 。 最后执行①②步: 第①步:队首元素 “K” 出队并入栈,此时队列变为空,栈为 “KYCL”。 此时队列只有一个元素“U”,出队后再入队,最后再将最后一个元素 “U” 出队并入栈,栈中从栈顶到栈底的值依次是 “UKYCL”。 综上,答案是D。
10. 定义如下函数:
def f(n):
if n<3:
return n
return f(n-1)+f(n-3)
执行语句 print(f(5))后,下列说法正确的是( )
A. 输出的结果是10
B. 该程序实现利用了枚举算法
C. 该程序实现过程中f(n)共被调用7次
D. 若将语句“if n<3:”修改为“if n<=2:”,程序结果会发生改变
【答案】C
【解析】
【详解】本题考查的是递归。f(5)=f(4)+f(2),f(4)=f(3)+f(1),f(3)=f(2)+f(0),f(0)=0,f(1)=1,f(2)=2,倒推可知,f(5)=3+2=5;该程序使用的是递归算法,而不是枚举算法;根据前面的分析,在计算 f(5) 的过程中,f(n) 共被调用7次;原函数中 n < 3 时返回 n,即 n = 0、1、2 时返回 n;修改后 n <= 2 时返回 n,结果并没有改变。故本题应选C。
11. 有如下 Python 程序段:
a=[6,10,2,8,4,0]
for i in range(2):
for j in range(5-i):
if a[j]>a[j+1]:
a[j],a[j+1]=a[j+1],a[j]
执行该程序段后,a 的值是( )
A. [02,4,6,8,10] B. [2,6,4,0,8,10] C. [0,2,6,10,4,8] D. [10,8,6,4,2,0]
【答案】B
【解析】
【详解】本题考查的是冒泡排序的变式。本题的功能是将列表a中的数据进行升序排序,求排序两遍后的数据序列情况,第一遍排序后的结果为“6,2,8,4,0,10”,第二遍排序后的结果为“2,6,4,0,8,10”,故本题答案是B选项。
12. 有如下 Python 程序段:
a=[19,25,29,30,33,36,78,87,96,100]
ans=[];i=0;j=9
key=int(input("请输入待查数据:"))
flag=False
while i<=j and not flag:
m=(i+j+1)//2
if a[m]==key:
flag=True
elif a[m]>key:
j=m-1
else:
i=m+1
ans.append(a[m])
print(ans)
执行该程序段后,当输入的 key 值为 25 时,输出的结果是( )
A. [33] B. [3325] C. [36,29] D. [36,29,25]
【答案】D
【解析】
【详解】本题考查的是二分查找。该算法是一个二分查找算法。在输入 key=25 时,算法执行以下步骤:
1. 初始化i=0,j=9。
2. 计算中间位置 m=(0+9+1)//2=5,检查 a[5]=36,大于 25,因此更新 j=4,并将 36 添加到 ans。
3. 重新计算 m=(0+4+1)//2=2,检查 a[2]=29,大于 25,因此更新 j=1,并将 29 添加到 ans。
4. 重新计算 m=(0+1+1)//2=1,检查 a[1]=25,等于 25,设置 flag=True,并将 25 添加到 ans。
循环结束,ans列表包含[36, 29, 25]。因此输出结果是 [36, 29, 25]。故本题应选D。
二、非选择题(本大题共3小题,其中第13题8分,第14题9分,第15题9分,共26分)
13. 某解压算法描述如下: 数据由数字段和字母段组成,数字段的数值代表字母段的重复次数。 例如:字符串1A2B3CD,用该解压算法解压后为ABBCDCDCD。实现该功能的 Python 程序如下:
decr=input("输入压缩码:")
n=len(decr)
_____________
tmp=""
res=""
for i in range(n):
if :
num=num*10+int(decr[i])
else:
tmp+=decr[i]
if i<n-1 and "0"<=decr[i+1]<="9":
_________
num=0;tmp=""
res+=tmp*num
print("解压结果:"+res)
(1)请在程序中划线处填入合适的代码。
(2)若输入字符串“1AB2CDE”(不含引号),输出的内容是解压结果:________
(3)以下选项与加框处表达式功能一致的有________(多选,填字母)。
A.decr[i]>="0"and decr[i]<="9" B.0<=int(decr[i])<=9
C.not(decr[i]<"0"or decr[i]>"9") D."0"<=decr[i]<"10"
【答案】 ①. num=0 ②. res+=tmp*num ③. ABCDECDE ④. AC
【解析】
【详解】本题考查的是Python循环语句的应用。
(1)num在循环开始时需要初始化为0,故第一个划线处应为:num=0;如果当前字符非数字,同时下一个字符是数字,则需要将记录的非数字字符串(tmp)重复num次后,拼接到res后,故第二个划线处应为:res+=tmp*num。
(2)计算解压结果时,1AB表示AB重复1次,2CDE表示CDE重复2次,因此为:AB+ CDE + CDE = ABCDECDE。
(3)选项A和C与框中表达式功能一致:A直接比较,C通过两种条件的非运算实现与A相同功能,所以是AC。B和D不符合。
14. 寻找素单词。素数是指大于 1 的自然数中,除了 1 和它本身以外不再有其他因数的自然数。例如,2,3,5,7 等是素数。假如每个单词由小写字母组成,每个字母对应一个特定的值,字母a对应1,字母b对应2……以此类推,字母z对应26。如果这个单词的字母值的总和是素数,则这个单词是素单词( prime word)。请编写程序,判定输入的单词是否为素单词。
(1)若输入的单词是“run”,则输出结果是_____________。
(2)实现上述功能的部分 Python 程序如下,请在划线处填入合适的代码。
def isprime(n): #判断 n 是不是素数
for i in range( ):
if n%i==0:
return False
______________
def strsum(word): #统计单词的字母值总和
dic={"a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9,"j":10,"k":11,
"l":12,"m":13,"n":14,"o":15,"p":16,"q":17,"r":18,"s":19,"t":20,
"u":21"v":22,"w":23,"x":24,"y":25,"z":26}
n=0
for ch in word:
___________
return n
word=input("请输入一个单词:")
s=strsum(word)
_________________
if flag:
print("这是一个素单词")
else:
print("这不是一个素单词")
(3)下列选项中不可以填入加框处的代码是__(单选,填字母)。
A.2,n B.2,n+1 C.2,int(n**0.5)+1 D.2,n//2+1
【答案】 ①. 这是一个素单词 ②. return True ③. n=n+dic[ch] ④. flag=isprime(s) ⑤. B
【解析】
【详解】(1)首先,根据字母与数值的对应关系,计算单词 “run” 字母值的总和。 字母 “r” 对应 18,字母 “u” 对应 21,字母 “n” 对应 14,它们的总和为53 。 因为 53 除了 1 和它本身以外不再有其他因数,是素数,所以若输入的单词是 “run”,输出结果是 这是一个素单词。
(2)①处: 该处是在 isprime 函数中,当 for 循环结束都没有找到能整除 n 的数时,说明 n 是素数,应该返回 True。 因此该空答案为 return True。
②处:这里是在 strsum 函数中,遍历单词中的每个字母,根据字典 dic 找到字母对应的数值并累加到 n 中。 所以代码应为 n = n + dic[ch]。
③处:此处要调用 isprime 函数判断字母值总和 s 是否为素数,并将结果存储在 flag 中。 所以代码为 flag = isprime(s)。
(3)range(2, n + 1) 会让循环多执行一次,检查 n 本身,但 n 本身肯定能被自己整除,这不符合素数判断的逻辑,所以不可以填入B。
15. 某学校进行成语接龙比赛,现把接龙后的成语按类型分组输出。例如“循循善诱”属于AABC类型,“喜气洋洋”属于ABCC类型。编写程序实现从文本文件中读取所有四字成语,进行分类并输出,结果如图所示。请回答下列问题:
(1)若收集了3个成语为“百花齐放”、“比比皆是”、“一心一意”,共出现_____(填数字)种类型。
(2)定义如下ctype(s)函数,参数s是一个字符串类型的四字成语。函数的功能是返回四字成语s的类型,例如ctype("一见如故"),返回值是"ABCD"。
def ctype(s):
ret = "A"
k = 65 # 字母"A"的ASCII码为65
for i in range(1, 4):
for j in range(i):
if s[i] == s[j]:
ret += # 第②小题
break
if s[i] != s[j]:
k += 1
ret += chr(k)
return(ret)
①调用ctype(s)函数,若变量s为“风风雨雨”,则函数运行结束时变量k值是_______ 。
②若将加框处代码“ret[j]”误写为“chr(k)”,会导致某些情况下无法得到符合函数功能的结果。调用ctype(s)函数,下列4组数据中能测试出这一问题的是________(单选,填字母)。
A.s="心心相印" B.S="喜气洋洋" C.s="一心一意" D.s="一见如故"
(3)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
#假设文本文件中四字成语总数量不超过100个,成语类型不超过10种。
file=open("成语.txt", "r")
word=[["",-1] for i in range(100)]
_________
n=0 #n 存储成语类型出现的种数
ct=[""]*10 #ct存储成语出现的具体类型
head=[-1]*10 ;tail=[-1]*10
for line in file:
word[i][0]=line.strip("
") #读入一个四字成语,保存在word[i][0] ctmp=ctype(word[i][0])
j=0
while j<n and ct[j]!=ctmp:
j+=1
if j!=n:
p=tail[j];word[p][1]=i;tail[j]=i
else:
________;head[n]=i;tail[n]=i
n+=1
i+=1
file.close()
for i in range(n):
print(ct[i],end="")
q=head[i]
while q!=-l:
print(word[q][0],end="")
_____________
print()
【答案】 ①. 3 ②. 66 ③. C ④. i=0 ⑤. ct[n]=ctmp ⑥. q=word[q][1]
【解析】
【详解】本题考查的是Python链表的应用。
(1)分析三个成语的结构,“百花齐放”为 ABCD 类型,“比比皆是”为 AABC 类型,“一心一意”为 ABAC 类型,因此有三种不同的类型。
(2)①“风风雨雨”的类型是 AABB。当函数运行结束时,变量 k 最后一次自增是用于判断最后一个不同字符 ‘B’,k 从初始的 65 (“A”) 变为 66 (“B”)。②如果误写为“chr(k)”,在处理第三个字符之前 (“一心一意”) 的第一和第二个字符不一样,k 会自增,但第三个字符与第一个字符一样,因此返回值与预期不同,此时可以发现错误。
(3)第一个空应初始化 i=0,为循环读取文件中的成语做准备;第二个空应设定成语类型的当前统计 n 对应的类型为ctmp,即 ct[n]=ctmp;第三个空在读取 word[q][1] 时进行 while 循环的控制,即 q=word[q][1] 是跳到链表下一个链接点。
第1页/共1页
学科网(北京)股份有限公司
$$
诸暨市2024-2025学年第一学期期末考试试题
高二信息技术试题
共50分
一、选择题(本大题共 12 小题,每小题 2 分,共 24 分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 2024年12月20日早上,小明想了解未来几天的天气情况,他从某APP中查询到2024-12-21至2024-12-24的天气预报如下表所示。
日期
最低气温
最高气温
天气
风力
2024-12-21
-1
10
雾
北风3级
2024-12-22
0
7
多云
东北风2级
2024-12-23
3
11
多云
东北风2级
2024-12-24
4
14
阴
东北风3级
下列有关数据、信息和知识的说法正确的是( )
A. 表格中列出的最高气温是数据,而天气不是数据
B. 小明根据天气预报情况,提醒父母要多穿衣服,这是智慧的体现
C. 小明在这一天的晚上查询同时段天气发现气温有些变化,说明信息具有时效性
D. 小明通过无线网络查询天气预报,说明信息的传递有时不需要载体
2. 2024年12月20日早上,小明想了解未来几天的天气情况,他从某APP中查询到2024-12-21至2024-12-24的天气预报如下表所示。
日期
最低气温
最高气温
天气
风力
2024-12-21
-1
10
雾
北风3级
2024-12-22
0
7
多云
东北风2级
2024-12-23
3
11
多云
东北风2级
2024-12-24
4
14
阴
东北风3级
下列有关数字、数值和数据的说法,正确的是( )
A. 数据必须包括数字
B. 数据是对客观事物的符号表示,其表现形式较为单一
C. 表中的数据只有数字和数值两种表现形式
D. 表中2024-12-21日的最高气温“10”是数值
3. 2024年12月20日早上,小明想了解未来几天的天气情况,他从某APP中查询到2024-12-21至2024-12-24的天气预报如下表所示。
日期
最低气温
最高气温
天气
风力
2024-12-21
-1
10
雾
北风3级
2024-12-22
0
7
多云
东北风2级
2024-12-23
3
11
多云
东北风2级
2024-12-24
4
14
阴
东北风3级
下列有关数据、数据项、数据元素的说法不正确的是( )
A. 数据元素是数据的基本单位
B. 表中每个数据元素由5个数据项组成
C. 表中共有5个数据元素,4个数据项
D. “天气”是数据项名称,“多云”是数据项的值
4. 关于数据安全,下列做法正确的是( )
A. 专业人士要做好数据安全,普通人不需要关注数据安全
B. 对于数据安全,不仅要做好防护上的安全,还应提高数据本身的安全
C. 为了保证数据的完整性可以进行数据加密
D. 只要保护好存储数据的介质,就能做到数据安全
5. 下列关于数据结构的说法,正确的是( )
A. 常见的线性关系数据结构有数组、链表、队列等
B. 数组是一种适合用于组织、存储涉及频繁插入与删除的数据结构
C. 游客们排队有序进入景区体现了栈的思想
D. 数据结构设计只要考虑数据对象的存储结构
6. 下列关于链表的说法,不正确的是( )
A. 链表占用的存储空间不固定
B. 链表中不一定有头指针
C. 链表的节点由数据区域和指针区域两部分组成
D. 在链表中插入一个节点,只需要修改部分节点的指针
7. 某算法部分流程图如图所示,执行这部分流程后,输出 s 的值为 64,则①处应填入( )
A. i%2==0 B. i%2==1
C. i//4<2 D. i**0.5==int(i**0.5)
8. 如图所示的二叉树,其节点的中序遍历的序列为( )
A ABCDEFG B. GDBEACF C. GDEBFCA D. ABDGECF
9. 若队列数据元素为“LUCKY”,现对该队列进行下列操作:
第①步队首元素出队并入栈;第②步队首元素出队后再入队;重复①②步操作直到队列为空。则栈中从栈顶到栈底的值依次是( )
A LCYKU B. LUCKY C. UKLYC D. UKYCL
10. 定义如下函数:
def f(n):
if n<3:
return n
return f(n-1)+f(n-3)
执行语句 print(f(5))后,下列说法正确是( )
A. 输出的结果是10
B. 该程序实现利用了枚举算法
C. 该程序实现过程中f(n)共被调用7次
D. 若将语句“if n<3:”修改为“if n<=2:”,程序结果会发生改变
11. 有如下 Python 程序段:
a=[6,10,2,8,4,0]
for i in range(2):
for j in range(5-i):
if a[j]>a[j+1]:
a[j],a[j+1]=a[j+1],a[j]
执行该程序段后,a 的值是( )
A. [0,2,4,6,8,10] B. [2,6,4,0,8,10] C. [0,2,6,10,4,8] D. [10,8,6,4,2,0]
12. 有如下 Python 程序段:
a=[19,25,29,30,33,36,78,87,96,100]
ans=[];i=0;j=9
key=int(input("请输入待查数据:"))
flag=False
while i<=j and not flag:
m=(i+j+1)//2
if a[m]==key:
flag=True
elif a[m]>key:
j=m-1
else:
i=m+1
ans.append(a[m])
print(ans)
执行该程序段后,当输入的 key 值为 25 时,输出的结果是( )
A. [33] B. [33,25] C. [36,29] D. [36,29,25]
二、非选择题(本大题共3小题,其中第13题8分,第14题9分,第15题9分,共26分)
13. 某解压算法描述如下: 数据由数字段和字母段组成,数字段的数值代表字母段的重复次数。 例如:字符串1A2B3CD,用该解压算法解压后为ABBCDCDCD。实现该功能的 Python 程序如下:
decr=input("输入压缩码:")
n=len(decr)
_____________
tmp=""
res=""
for i in range(n):
if :
num=num*10+int(decr[i])
else:
tmp+=decr[i]
if i<n-1 and "0"<=decr[i+1]<="9":
_________
num=0;tmp=""
res+=tmp*num
print("解压结果:"+res)
(1)请在程序中划线处填入合适的代码。
(2)若输入字符串“1AB2CDE”(不含引号),输出的内容是解压结果:________
(3)以下选项与加框处表达式功能一致的有________(多选,填字母)。
A.decr[i]>="0"and decr[i]<="9" B.0<=int(decr[i])<=9
C.not(decr[i]<"0"or decr[i]>"9") D."0"<=decr[i]<"10"
14. 寻找素单词。素数是指大于 1 的自然数中,除了 1 和它本身以外不再有其他因数的自然数。例如,2,3,5,7 等是素数。假如每个单词由小写字母组成,每个字母对应一个特定的值,字母a对应1,字母b对应2……以此类推,字母z对应26。如果这个单词的字母值的总和是素数,则这个单词是素单词( prime word)。请编写程序,判定输入的单词是否为素单词。
(1)若输入的单词是“run”,则输出结果是_____________。
(2)实现上述功能的部分 Python 程序如下,请在划线处填入合适的代码。
def isprime(n): #判断 n 是不是素数
for i in range( ):
if n%i==0:
return False
______________
def strsum(word): #统计单词的字母值总和
dic={"a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9,"j":10,"k":11,
"l":12,"m":13,"n":14,"o":15,"p":16,"q":17,"r":18,"s":19,"t":20,
"u":21,"v":22,"w":23,"x":24,"y":25,"z":26}
n=0
for ch in word:
___________
return n
word=input("请输入一个单词:")
s=strsum(word)
_________________
if flag:
print("这是一个素单词")
else:
print("这不是一个素单词")
(3)下列选项中不可以填入加框处的代码是__(单选,填字母)。
A.2,n B.2,n+1 C.2,int(n**0.5)+1 D.2,n//2+1
15. 某学校进行成语接龙比赛,现把接龙后的成语按类型分组输出。例如“循循善诱”属于AABC类型,“喜气洋洋”属于ABCC类型。编写程序实现从文本文件中读取所有四字成语,进行分类并输出,结果如图所示。请回答下列问题:
(1)若收集了3个成语为“百花齐放”、“比比皆是”、“一心一意”,共出现_____(填数字)种类型。
(2)定义如下ctype(s)函数,参数s是一个字符串类型的四字成语。函数的功能是返回四字成语s的类型,例如ctype("一见如故"),返回值是"ABCD"。
def ctype(s):
ret = "A"
k = 65 # 字母"A"的ASCII码为65
for i in range(1, 4):
for j in range(i):
if s[i] == s[j]:
ret += # 第②小题
break
if s[i] != s[j]:
k += 1
ret += chr(k)
return(ret)
①调用ctype(s)函数,若变量s为“风风雨雨”,则函数运行结束时变量k的值是_______ 。
②若将加框处代码“ret[j]”误写为“chr(k)”,会导致某些情况下无法得到符合函数功能的结果。调用ctype(s)函数,下列4组数据中能测试出这一问题的是________(单选,填字母)。
A.s="心心相印" B.S="喜气洋洋" C.s="一心一意" D.s="一见如故"
(3)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
#假设文本文件中四字成语总数量不超过100个,成语类型不超过10种。
file=open("成语.txt", "r")
word=[["",-1] for i in range(100)]
_________
n=0 #n 存储成语类型出现的种数
ct=[""]*10 #ct存储成语出现的具体类型
head=[-1]*10 ;tail=[-1]*10
for line in file:
word[i][0]=line.strip("
") #读入一个四字成语,保存word[i][0] ctmp=ctype(word[i][0])
j=0
while j<n and ct[j]!=ctmp:
j+=1
if j!=n:
p=tail[j];word[p][1]=i;tail[j]=i
else:
________;head[n]=i;tail[n]=i
n+=1
i+=1
file.close()
for i in range(n):
print(ct[i],end="")
q=head[i]
while q!=-l:
print(word[q][0],end="")
_____________
print()
第1页/共1页
学科网(北京)股份有限公司
$$