浙江省温州市十校联合体2023-2024学年高二上学期期中联考技术试题(解析版)

资源下载
  1. 二一教育资源

浙江省温州市十校联合体2023-2024学年高二上学期期中联考技术试题(解析版)

资源简介

绝密★考试结束前
2023学年第一学期温州十校联合体期中联考
高二年级技术学科试题
考生须知:
1.本卷共10页满分100分,考试时间90分钟。
2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字。
3.所有答案必须写在答题纸上,写在试卷上无效。
4.考试结束后,只需上交答题纸。
第一部分信息技术部分
选择题部分
一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)
1. 下列关于数据、信息和知识的说法正确的是( )
A. 数据本身不需要经过解释也具有一定的意义
B. 信息具有载体依附性,因此不能脱离它所反映的事物被传输、存储和表达
C. 信息的价值包括显性价值和隐性价值,经过人为加工处理后的信息不再具有价值性
D. 与数据和信息相比,知识更接近行动,不同人接收同样的信息后所建构的知识不一定相同
2. 下列关于数据与大数据的说法正确的是( )
A. 大数据蕴含着巨大的价值,数据总量越大,价值密度越高
B. 计算机数据的管理已经经历了人工管理、文件管理和数据库管理三个阶段
C. 大数据收集和分析数据量非常大,因此只需要随机抽取部分样本进行研究即可
D. 可以通过磁盘阵列、数据备份和数据加密等方式保护存储数据的介质,从而保护数据安全
3. 下列关于数据的采集与编码说法不正确的是( )
A. 表示0~256范围内的量化值,至少需要9位量化位数
B. 所有数据在计算机中的存储和处理都是以二进制的形式实现
C 采样频率会影响信号保真度,提高采样样本数一定可以有效提高信号保真度
D. 矢量图形保存文件大小一般比位图要小,在图像处理软件中放大矢量图形不会出现失真
4. 用UltraEdit观察“杭州第19届亚运会”的字符内码,如图所示。
下列说法正确的是( )
A. 图中共有8个ASCII码字符
B. 字符“y”的二进制内码为01011001
C. 字符“9”对应的内码是39H,字符“10”对应的内码是40H
D. 字符“!”是汉字字符,在计算机内部占2个字节的存储空间
5. 某算法的流程图如图所示,当输入n为4321时,执行该流程图后,下列说法不正确的是( )
A. 变量s的终值为10 B. “n!=0”语句共执行4次
C. 循环体部分的执行次数为4 D. 该流程图符合算法的有穷性特征
6. 下列Python表达式的返回值为4的是( )
①16/len(″ab″)**2 ②abs(round(-1.7)*2)%8
③chr(ord(″0″)+4) ④int(str(1010+90)[1:4])//25
A. ①② B. ①③ C. ②④ D. ③④
7. 某Python程序如下:
item={"竞技类":["铁人三项","电子竞技","霹雳舞"],"球类":["足球","篮球","乒乓球"],"对抗性":["拳击","跆拳道","卡巴迪","击剑"],"水上":["跳水","龙舟","帆船"]}
print(item["对抗性"][2][::-1])
执行该程序段后,输出的结果是( )
A. 跆拳道 B. 道拳跆 C. 卡巴迪 D. 迪巴卡
8. 象限是平面直角坐标系(笛卡尔坐标系)中横轴和纵轴所划分的四个区域,每一个区域叫做一个象限。象限以原点为中心,x,y轴为分界线,原点和坐标轴上的点不属于任何象限。某同学根据输入的坐标点(x,y)来判断该坐标点的位置所在。以下实现该分类的Python程序段中不正确的是( )
A. B. C. D.
9. 有如下Python程序段:
from PIL import Image
img=Image.open(″logo.jpg″)
i=0
while i<=2:
img.rotate(i*90)#rotate():逆时针旋转图片,参数为旋转角度
i+=1
img.show()
图logo.jpg原图如下图所示,运行该程序段后,图像显示为( )
A. B. C. D.
10. 某“有机蔬菜种植基地实时监测系统”每隔一定时间采集大棚内的温度数据,如果超出适宜温度范围就会进行降温或升温的调节(适宜温度范围为tmin~tmax(含tmin,tmax)),计算一段时间内超出适宜温度范围的次数,列表变量s存储采集到的温度数据,下列程序正确的是( )
A. B.
C. D.
11. 某Python程序如下:
s=″0923HangzhouYayunhui″; t=″″
for i in range(len(s)):
j=s[i]
if not j>=″a″ or j>″z″:
t=″″
t=j+t
print(t)
程序运行后,输出的内容是( )
A. ayunhui B. Yayunhui C. iuhnuya D. iuhnuyaY
12. 有如下Python程序段:
from random import randint
s=[″C++″,″Java″,″VB″,″Pascal″,″C″,″Python″]
for i in range(2):
k=randint(0,2)*2
s=s[:k]+s[k+1:]
print(s)
执行该程序段后,变量s的值不可能是( )
A. [″Java″,″VB″,″Pascal″,″C″] B. [″C++″,″Java″,″C″,″Python″]
C. [″C++″,″VB″,″Pascal″,″Python″] D. [″C++″,″Java″,″Pascal″,″Python″]
非选择题部分
二、非选择题(本大题共3小题,其中第13小题8分,第14小题9分,第15小题9分,共26分。)
13. 请仔细观察回答相关问题。
图a 图b
(1)如图a所示,是一张二维码,其中二维码部分截图如图b所示,则图b中共有____个像素,每个像素点有____种状态。
(2)若图b中的黑、白像素分别用1和0表示,则该图像中的第二行最后一个字节二进制编码为____,将其转化为十六进制编码为____。
(3)对图a的二维码进行扫码后得到一张如图c的亚运会吉祥物图像,该图像是一副未经压缩的1024*768像素、256色的BMP位图图像,所需的存储空间是____KB,将该图像另存为512×384像素、黑白图片,格式保持不变,则前后图像文件的存储容量比约为____。
图c
14. 校内阅卷已经普遍采用网上阅卷模式,其中客观题无需评阅,扫描过程中自动识别,扫描结束即生成成绩,准确率高。现有一道多选题,即从″ABCD″4个选项中任意选择2个及2个以上。小明现想用Python输出所有的多选题的选项组合,他用4位二进制数模拟所有选项组合(1-选,0-不选),再从中筛选出有效组合,例如1100是一种有效组合,1000是一种无效组合。
实现该功能的Python程序如下:
xx=[″A″,″B″,″C″,″D″]
combs=[]
i=0
while _______:
t=i
s=″″
c=0
for j in range(4):
if t%2==1:
s=_______
c+=1
_______
if _______:
combs.append(s) #append()方法用于在列表末尾添加新的对象。
i+=1
print(″符合要求的选项组合:″)
print(combs)
(1)上述程序中,用到的主要算法是______(单选,填字母:A.解析算法/B.枚举算法)
(2)请完成程序填空,在划线上填入合适的代码。
15. 字母异位词指的是由相同的字母组成且不区分大小写,但字母位置不同的两个单词或短语,比如″Heart″和″earth″是字母异位词,″Apple″和=″Paper″不是字母异位词。
文本文件“words.txt”中保存着若干对单词组,部分界面如图a所示。现编写Python程序,从文件“words.txt”中读取每对单词组,并判断该组中两个单词是否为字母异位词。程序代码如下,程序运行后输出结果部分界面如图b所示,请回答下列问题。
(1)请划线处填入合适的代码。
def change(x):#将字母都转换为小写字母
y=""
for k in x:
if "A"<=k<=″Z″
k= _______
y+=k
return y
def fs(m,n):
cnt=[0]*26
for i in range(len(m)):
ch=ord(m[i])
_______
for i in range(len(n)):
ch=ord(n[i])
cnt[ch-ord("a")]-=1
return cnt
file=open("words.txt","r") #以只读的方式打开文件
text=[];s1=s2=″″
line=file.readline()#从文件中读取一行
while line:#当line非空(从文件中读取到数据)
line=line.strip()#把末尾的’\n’去掉
text.append(line.split())#方法是把空白字符去掉,把line变成包含2个单词的列表
line=file.readline()
file.close()
_______
for i in range(num):
s1=text[i][0]
s2=text[i][1]
c= _______
j=0
while jif c[j]!=0:
print(s1,"和",s2,"不是字母异位词")
break
j+=1
else:#在循环正常结束后执行
print(s1,"和",s2,"是字母异位词")绝密★考试结束前
2023学年第一学期温州十校联合体期中联考
高二年级技术学科试题
考生须知:
1.本卷共10页满分100分,考试时间90分钟。
2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字。
3.所有答案必须写在答题纸上,写在试卷上无效。
4.考试结束后,只需上交答题纸。
第一部分信息技术部分
选择题部分
一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)
1. 下列关于数据、信息和知识的说法正确的是( )
A. 数据本身不需要经过解释也具有一定的意义
B. 信息具有载体依附性,因此不能脱离它所反映的事物被传输、存储和表达
C. 信息的价值包括显性价值和隐性价值,经过人为加工处理后的信息不再具有价值性
D. 与数据和信息相比,知识更接近行动,不同的人接收同样的信息后所建构的知识不一定相同
【答案】D
【解析】
【详解】本题考查数据、信息和知识。数据是未经处理的原始记录,本身不具有意义,只有经过处理和分析后才能得到信息和知识,选项A说法错误;信息具有载体依附性,可以脱离它所反映的事物被传输、存储和表达,选项B说法错误;经过人为加工处理后的信息仍然具有价值性,只是价值可能更高或更低,选项C说法错误;与数据和信息相比,知识更接近行动,不同的人接收同样的信息后所建构的知识不一定相同,选项D说法正确。故答案为D选项。
2. 下列关于数据与大数据的说法正确的是( )
A. 大数据蕴含着巨大的价值,数据总量越大,价值密度越高
B. 计算机数据的管理已经经历了人工管理、文件管理和数据库管理三个阶段
C. 大数据收集和分析的数据量非常大,因此只需要随机抽取部分样本进行研究即可
D. 可以通过磁盘阵列、数据备份和数据加密等方式保护存储数据的介质,从而保护数据安全
【答案】B
【解析】
【详解】本题考查数据与大数据。大数据中蕴含着巨大的价值,但是数据总量和价值密度的高低之间并没有必然的关系。大数据的价值密度高低取决于数据的来源、质量、处理方式和利用方式,选项A说法错误;计算机数据的管理已经经历了人工管理、文件管理和数据库管理三个阶段,选项B说法正确;在大数据分析中,通常需要对全部数据进行深入分析和挖掘,而不是简单地随机抽取部分样本进行研究,选项C说法错误;可以通过磁盘阵列、数据备份和数据加密等保护数据安全,而不是保护存储数据的介质,选项D说法错误。故答案为B选项。
3. 下列关于数据的采集与编码说法不正确的是( )
A. 表示0~256范围内的量化值,至少需要9位量化位数
B. 所有数据在计算机中的存储和处理都是以二进制的形式实现
C. 采样频率会影响信号保真度,提高采样样本数一定可以有效提高信号保真度
D. 矢量图形保存的文件大小一般比位图要小,在图像处理软件中放大矢量图形不会出现失真
【答案】C
【解析】
【详解】本题考查数据采集与编码。28=256,29=512,因此表示0~256范围内的量化值,至少需要9位量化位数;所有数据在计算机中的存储和处理都是以二进制的形式实现;采样频率会影响信号保真度,但提高采样样本数不一定可以有效提高信号保真度,信号的保真度还与量化位数有关;矢量图形保存的文件大小一般比位图要小,在图像处理软件中放大矢量图形不会出现失真。故选C。
4. 用UltraEdit观察“杭州第19届亚运会”的字符内码,如图所示。
下列说法正确的是( )
A. 图中共有8个ASCII码字符
B. 字符“y”的二进制内码为01011001
C. 字符“9”对应的内码是39H,字符“10”对应的内码是40H
D. 字符“!”是汉字字符,在计算机内部占2个字节的存储空间
【答案】A
【解析】
【详解】本题考查UltraEdit软件及字符编码。由图可知,图中共有8个ASCII码字符,分别是:1、9、Y、o、u、n、g、!;字符“Y”十六进制内码是59,则字符“y”的内码是59+20=79H(大写字母与小写字母十六进制相差20H),对应二进制内码为01111001;字符“9”对应的内码是39H,则字符“10”对应的内码是31 30H;字符“!”是英文字符,在计算机内部占1个字节的存储空间。故选A。
5. 某算法的流程图如图所示,当输入n为4321时,执行该流程图后,下列说法不正确的是( )
A. 变量s的终值为10 B. “n!=0”语句共执行4次
C. 循环体部分的执行次数为4 D. 该流程图符合算法的有穷性特征
【答案】B
【解析】
【详解】本题考查算法流程图的识读。分析流程图可知,该流程图实现对输入n的各个位进行求和。当输入n为4321时,“n!=0”语句共执行5次。故选B。
6. 下列Python表达式的返回值为4的是( )
①16/len(″ab″)**2 ②abs(round(-1.7)*2)%8
③chr(ord(″0″)+4) ④int(str(1010+90)[1:4])//25
A ①② B. ①③ C. ②④ D. ③④
【答案】C
【解析】
【详解】本题考查Python表达式的运算。round是四舍五入函数,abs是求绝对值函数,ord()函数主要用于将字符转换为整数,即获取ASCII给定字符的值,chr函数相反。16/len(″ab″)**2 =16/2**2=16/4=4.0;abs(round(-1.7)*2)%8=abs(-2*2)%8=4;chr(ord(″0″)+4)=chr(48+4)=chr(52)="4";int(str(1010+90)[1:4])//25=int(100)//25=100//25=4。故选C。
7. 某Python程序如下:
item={"竞技类":["铁人三项","电子竞技","霹雳舞"],"球类":["足球","篮球","乒乓球"],"对抗性":["拳击","跆拳道","卡巴迪","击剑"],"水上":["跳水","龙舟","帆船"]}
print(item["对抗性"][2][::-1])
执行该程序段后,输出的结果是( )
A. 跆拳道 B. 道拳跆 C. 卡巴迪 D. 迪巴卡
【答案】D
【解析】
【详解】本题考查Python中字典相关知识。程序中创建了一个名为 item 的字典,其中包含四个键:"竞技类"、"球类"、 "对抗性"、和 "水上",每个键对应的值都是一个列表。然后使用索引操作符 [] 获取 item 字典中 "对抗性" 键对应的列表,再次使用索引操作符 [] 来获取 item["对抗性"] 列表中的第3个元素,并用切片 [:: -1] 进行反转操作,输出的结果是:迪巴卡。故答案为D选项。
8. 象限是平面直角坐标系(笛卡尔坐标系)中横轴和纵轴所划分的四个区域,每一个区域叫做一个象限。象限以原点为中心,x,y轴为分界线,原点和坐标轴上的点不属于任何象限。某同学根据输入的坐标点(x,y)来判断该坐标点的位置所在。以下实现该分类的Python程序段中不正确的是( )
A. B. C. D.
【答案】B
【解析】
【详解】本题考查Python分支结构的应用。选项B中,当x、y均为0时,会输出result="数轴",显然错误。故选B。
9. 有如下Python程序段:
from PIL import Image
img=Image.open(″logo.jpg″)
i=0
while i<=2:
img.rotate(i*90)#rotate():逆时针旋转图片,参数为旋转角度
i+=1
img.show()
图logo.jpg原图如下图所示,运行该程序段后,图像显示为( )
A. B. C. D.
【答案】B
【解析】
【详解】本题考查Python程序调试。变量i依次取0、1、2,即循环3次,每循环一次,图像逆时针旋转i*90度,即依次旋转0°、90°、180°,循环结束后,对应的图像是 ,故选B。
10. 某“有机蔬菜种植基地实时监测系统”每隔一定时间采集大棚内温度数据,如果超出适宜温度范围就会进行降温或升温的调节(适宜温度范围为tmin~tmax(含tmin,tmax)),计算一段时间内超出适宜温度范围的次数,列表变量s存储采集到的温度数据,下列程序正确的是( )
A. B.
C. D.
【答案】A
【解析】
【详解】本题考查Python程序设计相关内容。
A选项,使用for i in range(len(s))循环来遍历s列表中的每个元素,当 tmin<=s[i]<=tmax条件成立时,执行continue,转入下一次循环,即只有当温度不在适宜范围内时,计数器c才会加1。这将正确统计超过适宜温度的次数,符合题意。A选项正确。
B选项,它使用了一个while循环,当温度超出适宜温度范围时,计数器c加1,i要加1,但当温度在适宜温度范围内时,i仍然要加1,故应将i+=1这句话与if对齐,而不应该放在if语句内。B选项错误。
C选项,它的循环条件是for i in s,这意味着它会遍历s中的每个元素,而此时的i为s中的每个元素而非下标值,会导致错误的结果。C选项错误。
D选项,它使用了c=[0]*len(s),设置了列表,当温度超出适宜温度范围时,c[i]=1,是将对应列表元素值修改为1,并不表示超出适宜温度范围的数据个数。D选项错误。
故本题答案是A选项。
11. 某Python程序如下:
s=″0923HangzhouYayunhui″; t=″″
for i in range(len(s)):
j=s[i]
if not j>=″a″ or j>″z″:
t=″″
t=j+t
print(t)
程序运行后,输出的内容是( )
A. ayunhui B. Yayunhui C. iuhnuya D. iuhnuyaY
【答案】D
【解析】
【详解】本题考查Python程序的执行。程序中定义了一个字符串s和一个空字符串t,用for循环遍历字符串s中的每个字符,获取字符串s的第i个字符并将其存储在变量j中。用if not j>=″a″ or j>″z″: 语句判断字符j是否是小写字母,如果不是小写字母,将重置字符串t为空字符串,如果字符j是小写字母,那么将其添加到字符串t的前面最后打印字符串t。当循环执行到j=s[12]="Y"时,不是小写字母,将重置字符串t为空字符串,t=j+t="Y";当j=s[13]="a"时,是小写字母,执行语句t=j+t="a"+"Y"="aY";从题中可以看出Y后面再没有出现小写字母以外的字符,因此t不会为空字符串,将一直执行语句t=j+t,最后输出结果为iuhnuyaY。故答案为D选项。
12. 有如下Python程序段:
from random import randint
s=[″C++″,″Java″,″VB″,″Pascal″,″C″,″Python″]
for i in range(2):
k=randint(0,2)*2
s=s[:k]+s[k+1:]
print(s)
执行该程序段后,变量s的值不可能是( )
A. [″Java″,″VB″,″Pascal″,″C″] B. [″C++″,″Java″,″C″,″Python″]
C. [″C++″,″VB″,″Pascal″,″Python″] D. [″C++″,″Java″,″Pascal″,″Python″]
【答案】C
【解析】
【详解】本题考查Python程序的调试。random.randint(a,b)用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b。k=randint(0,2)*2,k取值0、2、4。i取值0、1,即循环2次。第一次循环中,当k=0时,s=['Java', 'VB', 'Pascal', 'C', 'Python'];当k=2时,s=['C++', 'Java', 'Pascal', 'C', 'Python'];当k=4时,s=['C++', 'Java', 'VB', 'Pascal', 'Python'],即每次循环去掉索引为k的元素。第二次循环中,s=['Java', 'VB', 'Pascal', 'C', 'Python'],当k=0、2、4,对应的s依次是['VB', 'Pascal', 'C', 'Python']、['Java', 'VB', 'C', 'Python']、['Java', 'VB', 'Pascal', 'C'];s=['C++', 'Java', 'Pascal', 'C', 'Python'],当k=0、2、4,对应的s依次是['Java', 'Pascal', 'C', 'Python']、['C++', 'Java', 'C', 'Python']、['C++', 'Java', 'Pascal', 'C'];s=['C++', 'Java', 'VB', 'Pascal', 'Python'],当k=0、2、4,对应的s依次是[ 'Java', 'VB', 'Pascal', 'Python']、['C++', 'Java', 'Pascal', 'Python']、['C++', 'Java', 'VB', 'Pascal']。故选C。
非选择题部分
二、非选择题(本大题共3小题,其中第13小题8分,第14小题9分,第15小题9分,共26分。)
13. 请仔细观察回答相关问题。
图a 图b
(1)如图a所示,是一张二维码,其中二维码部分截图如图b所示,则图b中共有____个像素,每个像素点有____种状态。
(2)若图b中的黑、白像素分别用1和0表示,则该图像中的第二行最后一个字节二进制编码为____,将其转化为十六进制编码为____。
(3)对图a的二维码进行扫码后得到一张如图c的亚运会吉祥物图像,该图像是一副未经压缩的1024*768像素、256色的BMP位图图像,所需的存储空间是____KB,将该图像另存为512×384像素、黑白图片,格式保持不变,则前后图像文件的存储容量比约为____。
图c
【答案】 ①. 64 ②. 2 ③. 10100001 或 10100001B ④. A1 或 A1H ⑤. 768 ⑥. 32:1
【解析】
【详解】本题考查二维码相关知识。二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一种编码方式。它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的、黑白相间的、记录数据符号信息的图形;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,矩阵式二维条码以矩阵的形式组成,在矩阵相应元素位置上用“点”表示二进制“1”,用“空”表示二进制“0”,“点”和“空”的排列组成代码。通过图像输入设备或光电扫描设备自动识读以实现信息自动处理。
①处,图b中每个小方格代表一个像素,每行32个,共两行,共有32*2=64个像素,故此处应填写:64;
②处,每个像素点由黑、白两种状态(用“点”表示二进制“1”,用“空”表示二进制“0”),故此处应填写:2;
③处,第二行最后一个字节从编号25开始,至32结束,依次为:黑白黑白白白白黑,采用二进制表示,即为:10100001或10100001B。故此处填写:10100001或10100001B;
④处,将③处二进制转换为十六进制,即10100001B=A1H。故此处填写:A1或A1H;
⑤处,依据图像容量计算公式:图像存储容量=水平像素*垂直像素*每个像素色彩所占位数/8及每个像素色彩所占位数为2n=256,n=8为位数,即求得所需存储空间容量:1024*768*8/8/1024=768KB。故此处应填写:768;
⑥处,将该图像另存为512×384像素、黑白图片,格式保持不变,其存储容量为:512*384*1/8/1024=24KB,则前后图像文件的存储容量比768:24=32:1。故此处应填写:32:1。
14. 校内阅卷已经普遍采用网上阅卷模式,其中客观题无需评阅,扫描过程中自动识别,扫描结束即生成成绩,准确率高。现有一道多选题,即从″ABCD″4个选项中任意选择2个及2个以上。小明现想用Python输出所有的多选题的选项组合,他用4位二进制数模拟所有选项组合(1-选,0-不选),再从中筛选出有效组合,例如1100是一种有效组合,1000是一种无效组合。
实现该功能的Python程序如下:
xx=[″A″,″B″,″C″,″D″]
combs=[]
i=0
while _______:
t=i
s=″″
c=0
for j in range(4):
if t%2==1:
s=_______
c+=1
_______
if _______:
combs.append(s) #append()方法用于在列表末尾添加新的对象。
i+=1
print(″符合要求的选项组合:″)
print(combs)
(1)上述程序中,用到的主要算法是______(单选,填字母:A.解析算法/B.枚举算法)
(2)请完成程序填空,在划线上填入合适的代码。
【答案】 ①. i<=15或i<16或i<2**len(xx) ②. s+xx[j]或xx[j]+s 或s+xx[len(xx)-1-j]或xx[len(xx)-1-j]+s或s+xx[3-j]或xx[3-j]+s ③. t=t//2或t=int(t/2) ④. c>=2或c>1 ⑤. B
【解析】
【详解】本题考查Python程序的综合应用。
(1)分析程序,可知该程序通过循环结构枚举所有的可能来解决问题,因此用到的主要算法是枚举算法。故选B。
(2)①用4位二进制数模拟所有选项组合(1-选,0-不选),再从中筛选出有效组合,例如1100是一种有效组合,1000是一种无效组合。四位二进制数最大值是1111,即十进制数15,i初值是0,通过while枚举所有可能,因此while循环条件是i<=15或i<16或i<2**len(xx)。②十进制数通过“除权取余、逆序排列”的方法转换为二进制数,1-选,0-不选,此处从xx中取出选择的答案,可以从左往右取,也可以从右往左取,故填s+xx[j]或xx[j]+s 或s+xx[len(xx)-1-j]或xx[len(xx)-1-j]+s或s+xx[3-j]或xx[3-j]+s。③同理,此处更新t的值,继续下一次循环,故填t=t//2或t=int(t/2)。④用变量c统计t转换为二进制数中1的个数,因为是多选题,当c大于1时,说明是有效组合,则将s添加到列表中,故此处if判断条件是c>=2或c>1。
15. 字母异位词指的是由相同的字母组成且不区分大小写,但字母位置不同的两个单词或短语,比如″Heart″和″earth″是字母异位词,″Apple″和=″Paper″不是字母异位词。
文本文件“words.txt”中保存着若干对单词组,部分界面如图a所示。现编写Python程序,从文件“words.txt”中读取每对单词组,并判断该组中两个单词是否为字母异位词。程序代码如下,程序运行后输出结果部分界面如图b所示,请回答下列问题。
(1)请划线处填入合适的代码。
def change(x):#将字母都转换为小写字母
y=""
for k in x:
if "A"<=k<=″Z″
k= _______
y+=k
return y
def fs(m,n):
cnt=[0]*26
for i in range(len(m)):
ch=ord(m[i])
_______
for i in range(len(n)):
ch=ord(n[i])
cnt[ch-ord("a")]-=1
return cnt
file=open("words.txt","r") #以只读的方式打开文件
text=[];s1=s2=″″
line=file.readline()#从文件中读取一行
while line:#当line非空(从文件中读取到数据)
line=line.strip()#把末尾的’\n’去掉
text.append(line.split())#方法是把空白字符去掉,把line变成包含2个单词的列表
line=filereadline()
file.close()
_______
for i in range(num):
s1=text[i][0]
s2=text[i][1]
c= _______
j=0
while jif c[j]!=0:
print(s1,"和",s2,"不是字母异位词")
break
j+=1
else:#在循环正常结束后执行
print(s1,"和",s2,"是字母异位词")
(2)下列程序代码中,加框处的语句______(选填:能/不能)改写成语句elif ″a″<=k<=″z″: 。
【答案】 ①. chr(ord(k)+32)或 chr(ord(k)+ord(″A″)-ord(″a″))或k.lower() ②. cnt[ch-ord(″a″)]+=1或cnt[ch-97]+=1 ③. num=len(text) ④. fs(change(s1),change(s2))或fs(change(s2),change(s1)) ⑤. 不能
【解析】

展开更多......

收起↑

资源列表