浙江省温州市2023-2024学年高二上学期期末技术试题-高中信息技术 (解析版)

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

浙江省温州市2023-2024学年高二上学期期末技术试题-高中信息技术 (解析版)

资源简介

机密★考试结束前
2023学年第一学期温州市高二期末教学质量统一检测
信息技术试题(A卷)
考生须知:
1.本试卷共6页,满分50分,考试时间45分钟。
2.考生答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题卷上。
3.选择题的答案须用2B铅笔将答题卷上对应题目的答案标号涂黑,如要改动,须将原填涂处用橡皮擦净。
4. 非选择题的答案须用黑色字迹的签字笔或钢笔写在答题卷上相应区域内,作图时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑,答案写在本试题卷上无效。
一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 小明以二十四节气文化为主题用计算机设计文创作品,以明信片形式分享给好友。其中大暑节气作品部分截图如图所示。
下列关于数据与信息说法,正确的是( )
A. 图像中的二维码是数据的一种表现形式 B. 二十四节气对于不同的人价值相同
C. 图像计算机中可采用十六进制存储 D. 明信片只能以纸质形式进行分享
2. 小明以二十四节气文化为主题用计算机设计文创作品,以明信片形式分享给好友。其中大暑节气作品部分截图如图所示。
下列关于数字化与编码的说法,正确的是( )
A. 该图像中的字符以ASCII码形式存储 B. 不同格式的图像文件编码方式一般不同
C. 扫描图像中的二维码是编码的过程 D. 打印明信片是数字化的过程
3. 小明以二十四节气文化为主题用计算机设计文创作品,以明信片形式分享给好友。其中大暑节气作品部分截图如图所示。
下列关于数据管理与安全的说法,不正确的是( )
A. 图像文件属于非结构化数据 B. 备份文件可以保护数据安全
C. 扫描二维码可能存在安全隐患 D. 对图像文件加密可以提高数据的完整性
4. 下列关于大数据的说法,正确的是( )
A. 大数据指数据量庞大、产生速度快、价值密度高的数据
B. 处理大数据强调对事物因果关系的探求
C. 一般采用分治思想处理大数据
D. 道路交通大数据仅采用批处理方法
5. 下列关于人工智能的说法,正确的是( )
A 人脸识别不需要对大量图像进行挖掘和学习
B. 在与环境交互中不断学习的扫地机器人属于符号主义
C. 人工智能技术不会威胁人类安全
D. 协同医生完成手术的机器人是混合增强智能的应用
6. 某算法的部分流程图如图所示,下列说法正确的是( )
A. 执行该流程后,变量f的值是-1
B. 执行该流程后,“i≤11?”共执行了6次
C. 执行该流程能实现表达式“1-1/3+1/5-1/7+1/9-1/11”的计算
D. 将“i≤11”改成“i≤12”会影响结果
7. 下列Python表达式值最小的是( )
A. 2024//10 ** 2-3*4 B. int(abs(-4.9))
C. max([5,7,1]) D. len("Python"[1:])
8. 某玩家和计算机进行石头剪刀布游戏,规则为剪刀胜布,石头胜剪刀,布胜石头,相同则平局,胜局多者赢。用g表示玩家,c表示计算机,数字 0 表示石头,1表示剪刀,2表示布。若玩家依次输入数字“0,1,2,0,1”,结果为玩家赢,则计算机依次产生的数字可能是( )
A. 1,1,2,2,0 B. 2,0,0,1,2
C. 1,2,1,2,1 D. 0,0,0,2,1
9. 某玩家和计算机进行石头剪刀布游戏,规则为剪刀胜布,石头胜剪刀,布胜石头,相同则平局,胜局多者赢。用g表示玩家,c表示计算机,数字 0 表示石头,1表示剪刀,2表示布。下列能判断玩家单局获胜的表达式是( )
A. gC. g=c-1 or g==c+2 D. (g+2)%3!=c
10. 某玩家和计算机进行石头剪刀布游戏,规则为剪刀胜布,石头胜剪刀,布胜石头,相同则平局,胜局多者赢。用g表示玩家,c表示计算机,数字 0 表示石头,1表示剪刀,2表示布。实现判断单局结果的部分程序段如下,下列选项不正确的是( )
A. if(g+1)%3 ==c: print("玩家获胜") elif(g+2)%3==c: print("计算机获胜") else: print("平局") B. if(g + 1)% 3 ==c: print("玩家获胜") else: if(g+2)%3==c: print("计算机获胜") else: print("平局") C if(g+1)%3==c: print("玩家获胜") if(g+2)%3==c: print("计算机获胜") else: print("平局") D. if(g+1)%3==c: print("玩家获胜") if(g+2)%3==c: print("计算机获胜") if g==c: print("平局")
A. A B. B C. C D. D
11. 列表1st长度为20,1st[0]至1st[5]的值依次为"p","y","t","h","o","n",执行如下Python程序段后,输出的结果是( )
i=0; j=6
while i if i % 3==0:
print(1st[i],end="")
else:
1st[j]=1st[i]
j+=1
i+=1
A. hpotny B. photny C. phynt D. phynto
12. 有如下 Python 程序段:
s1 = "abbde"
s2 = "abdeb"
c=0
for ch in sl:
for i in range(len(s2)): #①
if ch==s2[i]:
s2=s2[:i]+ s2[i+1:]
c+=1
break
print(c==len(s1)and s2="")
下列说法正确的是( )
A. 执行该程序段后,输出的结果为True
B. “s2=s2[:i]+s2[i+1:]”可以删除索引为i+1的字符
C. 将字符串s2修改为"abbde"输出结果会变
D. 将①处代码修改为“for i in s2”,程序可以正常运行
二、非选择题(本大题共3小题,其中第13小题8分,第14小题8分,第15小题10分,共26分)
13. 小明收集了2022年某地区各站点的地铁客流量数据,保存在文件“flow.xlsx”中,部分数据如图a所示。编写Python程序,输入站点,分析该站点1至12月份的客流量,并绘制如图b所示的垂直柱形图。
请回答下列问题。
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel("flow.xlsx") #读取“flow.xlsx”文件数据
for i in df.index:
date = str(df.at[i,"日期"])
df.at[i,"月份"] = ①____ #新增月份列,并提取日期列的月份数据
station =input("请输入站点名称:")
df=df[df["站点"]== station]
dfs = df.groupby( ②____,as_index = False).sum()
plt. ③____(dfs["月份"], round(dfs["客流量(人次)"]/10000,1))
#设置绘图参数,显示如图b所示的垂直柱形图,代码略
(1)请在划线处填入合适的代码。
(2)地铁B站的月平均客流量是856.03万人(虚线位置处)。由图b可知,该站客流量超过月平均客流量的月份共__________个。
14. 某储物区有一个五层置物架,每层有10个相同宽度无隔板的空区,用于存放宽度小于等于5的物品,如图a所示。物品优先存到高层连续空区的左侧,置物架连续空区不足或物品宽度大于5,则存到大件区。编写程序,依次输入待存物品的宽度,输出存储方案,如第图b所示,请回答下列问题:
(1)若当前置物架存储状态如图a所示,再存储一件宽为2的物品,则该件物品应存到_________(填文字:如第1层第1位)开始处。
(2)实现上述功能Python程序如下,请在划线处填入合适的代码。
def alloc(id,w):
①________
for i in range(len(box)-1,-1,-1):
if box[i]>=w:
print("第",id+1,"件请存到第",i+1,"层的第",11 -box[i],"位开始处")
②________
flag = True
break
if not flag:
print("第",i + 1,"件请存到大件区")
#依次输入待存物品的宽度并存入列表b,数据格式如[5,4,4,7,1],代码略
box =[10,10,10,10,10]
for i in range(len(b)):
if b[i]>5:
print("第",i+1,"件请存到大件区")
else:
alloc( ③____)
15. 小明编写程序模拟数据筛选功能。输入字符串key,在如图a所示的“图书数据.csv”文件中进行筛选并输出结果,程序运行界面如图b所示。筛选时可用“*”代替任意个字符,匹配样例如图c所示。若key不包含“*”,则筛选出书名与key相同的记录。请回答下列问题。
(1)若书名是“自然语言处理”,key是“自*言*”,则匹配结果为________(单选,填字母:A.True/B.False)
(2)定义如下check_rest(key,pos)函数,函数的功能是判断字符串key从pos位开始是否均为“*”或空,若是返回True,否则返回False。请在划线处填入合适的代码。
def check_rest(key,pos):
for i in range(pos,len(key)):
if key[i]!= "*"
________
return True
(3)定义如下judge(name,key)函数,函数的功能是判断name和key是否匹配。请在划线处填入合适代码。
def judge(name,key):
i =j=0
flag = False
while i < len(name):
if j < len(key)and ①____: #判i位和j位字符是否相同
i+= 1
j += 1
elif j < len(key)and key[j]="*": #遇到"*"记录其位置,并让其代替step个字符
flag = True
temp = [i,j]
step= 0
j += 1
elif flag: #回到前一个"*"位置,并让其代替step个字符
step += 1
②______
j=temp[1] +1
else: # 匹配失败
return False
if check_rest(key,j):
return True
else:
return False
(4)主程序,请在划线处填入合适代码。
key = input("请输入筛选条件:")
file= open("图书数据.csv")
print("您的筛选结果为:")
line = file.readline()
while line:
name = line.split(",")[0] #获取当前行图书名称并存入变量name
if_________:
print(line) #若符合条件则输出此条数据
line = file.readline()机密★考试结束前
2023学年第一学期温州市高二期末教学质量统一检测
信息技术试题(A卷)
考生须知:
1.本试卷共6页,满分50分,考试时间45分钟。
2.考生答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题卷上。
3.选择题的答案须用2B铅笔将答题卷上对应题目的答案标号涂黑,如要改动,须将原填涂处用橡皮擦净。
4. 非选择题的答案须用黑色字迹的签字笔或钢笔写在答题卷上相应区域内,作图时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑,答案写在本试题卷上无效。
一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 小明以二十四节气文化为主题用计算机设计文创作品,以明信片形式分享给好友。其中大暑节气作品部分截图如图所示。
下列关于数据与信息的说法,正确的是( )
A. 图像中的二维码是数据的一种表现形式 B. 二十四节气对于不同的人价值相同
C. 图像在计算机中可采用十六进制存储 D. 明信片只能以纸质形式进行分享
【答案】A
【解析】
【详解】本题考查数据与信息相关内容。A选项,数据的表现形式多种多样,二维码是数据的一种表现形式,选项正确。B选项,二十四节气对于不同的人价值可能是不相同的,选项错误。C选项,图像在计算机中采用二进制存储,选项错误。D选项,明信片可以纸质、电子版等形式进行分享,选项错误。故本题答案是A选项。
2. 小明以二十四节气文化为主题用计算机设计文创作品,以明信片形式分享给好友。其中大暑节气作品部分截图如图所示。
下列关于数字化与编码的说法,正确的是( )
A. 该图像中的字符以ASCII码形式存储 B. 不同格式的图像文件编码方式一般不同
C. 扫描图像中的二维码是编码的过程 D. 打印明信片是数字化的过程
【答案】B
【解析】
【详解】本题考查数字化编码相关内容。A选项,图像中的字符以二进制形式存储,选项错误。B选项,不同格式的图像文件编码方式一般不同,选项正确。C选项,扫描图像中的二维码是解码的过程,选项错误。D选项,打印明信片不是数字化的过程,选项错误。故本题答案是B选项。
3. 小明以二十四节气文化为主题用计算机设计文创作品,以明信片形式分享给好友。其中大暑节气作品部分截图如图所示。
下列关于数据管理与安全的说法,不正确的是( )
A. 图像文件属于非结构化数据 B. 备份文件可以保护数据安全
C. 扫描二维码可能存在安全隐患 D. 对图像文件加密可以提高数据的完整性
【答案】D
【解析】
【详解】本题考查数据管理与安全相关内容。A选项,非结构化数据是数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据,包括所有格式的办公文档、文本、图片,HTML、各类报表、图像和音频/视频信息等,选项说法正确。B选项,备份文件可以保护数据安全,选项说法正确。C选项,扫描二维码可能存在安全隐患,选项说法正确。D选项,对图像文件加密可以提高数据的安全性,不能提高完整性,选项说法错误。故本题答案是D选项。
4. 下列关于大数据的说法,正确的是( )
A. 大数据指数据量庞大、产生速度快、价值密度高数据
B. 处理大数据强调对事物因果关系的探求
C. 一般采用分治思想处理大数据
D. 道路交通大数据仅采用批处理方法
【答案】C
【解析】
【详解】本题考查大数据相关内容。大数据的特征是数据量大、速度快、数据类型多、价值密度低。A选项说法错误。B选项,处理大数据强调对事物相关性的探求,选项说法错误。C选项,一般采用分治思想处理大数据,选项说法正确。D选项,道路交通中实时产生的数据属于流数据,选项说法错误。故本题答案是C选项。
5. 下列关于人工智能的说法,正确的是( )
A 人脸识别不需要对大量图像进行挖掘和学习
B. 在与环境交互中不断学习的扫地机器人属于符号主义
C. 人工智能技术不会威胁人类安全
D. 协同医生完成手术的机器人是混合增强智能的应用
【答案】D
【解析】
【详解】本题考查人工智能相关内容。A选项,人脸识别需要对大量图像进行挖掘和学习,选项说法错误。B选项,扫地机器人在与环境交互中不断学习,符合“感知——行动”这一观点,属于行为主义,选项说法错误。C选项,人工智能技术推动人类社会进步的同时,也可能威胁人类安全,选项说法错误。D选项,“混合增强智能”,是指将人的作用或人的认知模型引入人工智能系统,形成“混合增强智能”的形态,这种形态是人工智能可行的、重要的成长模式,是人工智能的发展趋向,协同医生完成手术的机器人是混合增强智能的应用,选项说法正确。故本题答案是D选项。
6. 某算法的部分流程图如图所示,下列说法正确的是( )
A. 执行该流程后,变量f的值是-1
B. 执行该流程后,“i≤11?”共执行了6次
C. 执行该流程能实现表达式“1-1/3+1/5-1/7+1/9-1/11”的计算
D. 将“i≤11”改成“i≤12”会影响结果
【答案】C
【解析】
【详解】本题考查算法流程图相关内容。分析流程图,该算法描述的是计算1-1/3+1/5-1/7+1/9-1/11的值。A选项,变量f的值依据循环执行在1与-1之间交替变化,循环结束后,其值为1,选项说法错误。B选项,变量i初值为1,在循环体内,每次增加2,即:1、3、5、7、9、11、13,当i值为13,循环条件i<=11不成立,结束循环,“i≤11?”共执行了7次,选项说法错误。C选项,分析该算法功能,该流程能实现表达式“1-1/3+1/5-1/7+1/9-1/11”的计算,选项说法正确。D选项,由“变量i初值为1,在循环体内,每次增加2,即:1、3、5、7、9、11、13”知,将“i≤11”改成“i≤12”不会影响结果,选项说法错误。故本题答案是C选项。
7. 下列Python表达式值最小是( )
A. 2024//10 ** 2-3*4 B. int(abs(-4.9))
C. max([5,7,1]) D. len("Python"[1:])
【答案】B
【解析】
【详解】本题考查Python程序设计相关内容。A选项,2024//10**2-3*4-->2024//100-3*4-->20-12-->8。B选项,int(abs(-4.9))-->int(4.9)-->4。C选项,max([5,7,1])-->7。D选项,len("Python"[1:])-->len("ython")-->5。四个选项中,表达式值最小的是B选项。故本题答案是B选项。
8. 某玩家和计算机进行石头剪刀布游戏,规则为剪刀胜布,石头胜剪刀,布胜石头,相同则平局,胜局多者赢。用g表示玩家,c表示计算机,数字 0 表示石头,1表示剪刀,2表示布。若玩家依次输入数字“0,1,2,0,1”,结果为玩家赢,则计算机依次产生的数字可能是( )
A. 1,1,2,2,0 B. 2,0,0,1,2
C. 1,2,1,2,1 D. 0,0,0,2,1
【答案】B
【解析】
【详解】本题考查算法设计相关内容。由剪刀布游戏规则可知,游戏输赢情况如图所示:。若玩家依次输入数字“0,1,2,0,1”,计算机产生的数字若为A选项(1,1,2,2,0),则玩家1赢,2输,2平,结果为玩家输。若为B选项(2,0,0,1,2),则玩家3赢,2输,结果为玩家赢。若为C选项(1,2,1,2,1),则玩家2赢,2输,1平,结果为平。若为D选项(0,0,0,2,1),则玩家1赢,2输,2平,结果为玩家输。四个选项中,只有B选项,才可以使玩家赢。故本题答案是B选项。
9. 某玩家和计算机进行石头剪刀布游戏,规则为剪刀胜布,石头胜剪刀,布胜石头,相同则平局,胜局多者赢。用g表示玩家,c表示计算机,数字 0 表示石头,1表示剪刀,2表示布。下列能判断玩家单局获胜的表达式是( )
A. gC. g=c-1 or g==c+2 D. (g+2)%3!=c
【答案】C
【解析】
【详解】本题考查Python运算符与表达式相关内容。分析题目内容,玩家与计算机游戏输赢情况如图所示:。能判断玩家单局获胜的表达式是g=c-1 or g==c+2。故本题答案是C选项。
10. 某玩家和计算机进行石头剪刀布游戏,规则为剪刀胜布,石头胜剪刀,布胜石头,相同则平局,胜局多者赢。用g表示玩家,c表示计算机,数字 0 表示石头,1表示剪刀,2表示布。实现判断单局结果的部分程序段如下,下列选项不正确的是( )
A. if(g+1)%3 ==c: print("玩家获胜") elif(g+2)%3==c: print("计算机获胜") else: print("平局") B. if(g + 1)% 3 ==c: print("玩家获胜") else: if(g+2)%3==c: print("计算机获胜") else: print("平局") C. if(g+1)%3==c: print("玩家获胜") if(g+2)%3==c: print("计算机获胜") else: print("平局") D. if(g+1)%3==c: print("玩家获胜") if(g+2)%3==c: print("计算机获胜") if g==c: print("平局")
A. A B. B C. C D. D
【答案】C
【解析】
【详解】本题考查Python运算符与表达式相关内容。分析题目内容,玩家与计算机游戏输赢情况如图所示:。ABD选项能实现题目要求。C选项,采用if...if...else语句,若(g+1)%3==c成立,输出“玩家获胜”,再执行“if(g+2)%3==c”不成立,再执行else语句,输出“平局”,即(g+1)%3==c成立时,会输出两个结果:“玩家获胜”、“平局”,不符合题意,选项错误。故本题答案是C选项。
11. 列表1st长度为20,1st[0]至1st[5]的值依次为"p","y","t","h","o","n",执行如下Python程序段后,输出的结果是( )
i=0; j=6
while i if i % 3==0:
print(1st[i],end="")
else:
1st[j]=1st[i]
j+=1
i+=1
A. hpotny B. photny C. phynt D. phynto
【答案】D
【解析】
【详解】本题考查Python程序设计相关内容。结合题目内容,分析程序段,可知,该程序段运行过程如图所示:
其输出结果为:“phynto”。故本题答案是D选项。
12. 有如下 Python 程序段:
s1 = "abbde"
s2 = "abdeb"
c=0
for ch in sl:
for i in range(len(s2)): #①
if ch==s2[i]:
s2=s2[:i]+ s2[i+1:]
c+=1
break
print(c==len(s1)and s2="")
下列说法正确的是( )
A. 执行该程序段后,输出的结果为True
B. “s2=s2[:i]+s2[i+1:]”可以删除索引为i+1的字符
C. 将字符串s2修改为"abbde"输出结果会变
D. 将①处代码修改为“for i in s2”,程序可以正常运行
【答案】A
【解析】
【详解】本题考查Python程序设计相关内容。该程序段功能是删除s2中与s1相同的字符,每成功删除一次,c值+1。s2 = "abdeb"中的字符全部属于s1,最终s2 中的字符全部删除,c值变为5,与len(s1)值相等,且 s2=""成立,执行该程序段后,输出的结果为True。A选项正确。B选项,“s2=s2[:i]+s2[i+1:]”可以删除索引为i的字符,选项错误。C选项,将字符串s2修改为"abbde"输出结果不会变,选项错误。D选项,将①处代码修改为“for i in s2”,则i为s2中的字符,不是索引号,程序不可以正常运行,选项错误。故本题答案是A选项。
二、非选择题(本大题共3小题,其中第13小题8分,第14小题8分,第15小题10分,共26分)
13. 小明收集了2022年某地区各站点的地铁客流量数据,保存在文件“flow.xlsx”中,部分数据如图a所示。编写Python程序,输入站点,分析该站点1至12月份的客流量,并绘制如图b所示的垂直柱形图。
请回答下列问题。
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel("flow.xlsx") #读取“flow.xlsx”文件数据
for i in df.index:
date = str(df.at[i,"日期"])
df.at[i,"月份"] = ①____ #新增月份列,并提取日期列的月份数据
station =input("请输入站点名称:")
df=df[df["站点"]== station]
dfs = df.groupby( ②____,as_index = False).sum()
plt. ③____(dfs["月份"], round(dfs["客流量(人次)"]/10000,1))
#设置绘图参数,显示如图b所示的垂直柱形图,代码略
(1)请在划线处填入合适的代码。
(2)地铁B站的月平均客流量是856.03万人(虚线位置处)。由图b可知,该站客流量超过月平均客流量的月份共__________个。
【答案】 ①. date[5:7]或 df.at[i,"日期"][5:7] 或 date[-5:-3]或df.at["日期"][i][5:7]或df.日期[i][5:7]或date[5]+date[6] ②. ’月份’或"月份" ③. bar ④. 6
【解析】
【详解】本题考查Python程序设计相关内容。结合题目内容分析程序段,推知:
①处,此行代码作用是提取日期列的月份数据,月份数据在“日期”中的索引号是5-6,结合切片知识,下划线处应填写date[5:7],也可以有其他形式,故此处答案为:date[5:7]或 df.at[i,"日期"][5:7]或date[-5:-3]或df.at["日期"][i][5:7]或df.日期[i][5:7]或date[5]+date[6]。
②处,此行代码作用是使用groupby函数以每月客流量进行分组,故此处答案为:‘月份’或"月份"。
③处,此行代码作用使用bar函数绘制柱形图,故此处答案为:bar。
④处,观察图b,可知B站客流量超过月平均客流量的月份共有6个,故此处答案为:6。
14. 某储物区有一个五层置物架,每层有10个相同宽度无隔板的空区,用于存放宽度小于等于5的物品,如图a所示。物品优先存到高层连续空区的左侧,置物架连续空区不足或物品宽度大于5,则存到大件区。编写程序,依次输入待存物品的宽度,输出存储方案,如第图b所示,请回答下列问题:
(1)若当前置物架存储状态如图a所示,再存储一件宽为2的物品,则该件物品应存到_________(填文字:如第1层第1位)开始处。
(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。
def alloc(id,w):
①________
for i in range(len(box)-1,-1,-1):
if box[i]>=w:
print("第",id+1,"件请存到第",i+1,"层第",11 -box[i],"位开始处")
②________
flag = True
break
if not flag:
print("第",i + 1,"件请存到大件区")
#依次输入待存物品的宽度并存入列表b,数据格式如[5,4,4,7,1],代码略
box =[10,10,10,10,10]
for i in range(len(b)):
if b[i]>5:
print("第",i+1,"件请存到大件区")
else:
alloc( ③____)
【答案】 ①. 第4层第5位 ②. flag=False或flag=0 ③. box[i]-=w或box[i] = box[i]-w ④. i,b[i]
【解析】
【详解】本题考查Python程序设计相关内容。分析题目内容及程序段,推知:
(1)当前置物架存储状态如图a所示,则第5层已无空闲空间,再存储一件宽为2的物品,按照“物品优先存到高层连续空区的左侧,置物架连续空区不足或物品宽度大于5,则存到大件区”的原则,且第4层仅存放了物品3,剩余空间足够存放宽为2的物品,可将该件物品存放到第4层第5位起的位置上,故此处答案为:第4层第5位。
(2)在实现题目所需功能的代码中,②处,结合程序下文,此处需要设置flag变量作为标识,其初始值应设定为False,故此处答案为:flag=False或flag=0。③处,若box[i]>=w成立,则该层空闲空间满足存放该物品的条件,存放后需要计算该层剩余空闲空间,表达式为:box[i]-=w或box[i] = box[i]-w。故此处答案为:box[i]-=w或box[i] = box[i]-w。④处,在主程序内,若b[i]>5成立,说明物品超宽,应存放到大件区,否则应调用alloc函数,将物品存放到相应位置。调用alloc函数所需参数为i,b[i],故此处答案为:i,b[i]。
15. 小明编写程序模拟数据筛选功能。输入字符串key,在如图a所示的“图书数据.csv”文件中进行筛选并输出结果,程序运行界面如图b所示。筛选时可用“*”代替任意个字符,匹配样例如图c所示。若key不包含“*”,则筛选出书名与key相同的记录。请回答下列问题。
(1)若书名是“自然语言处理”,key是“自*言*”,则匹配结果为________(单选,填字母:A.True/B.False)
(2)定义如下check_rest(key,pos)函数,函数的功能是判断字符串key从pos位开始是否均为“*”或空,若是返回True,否则返回False。请在划线处填入合适的代码。
def check_rest(key,pos):
for i in range(pos,len(key)):
if key[i]!= "*"
________
return True
(3)定义如下judge(name,key)函数,函数的功能是判断name和key是否匹配。请在划线处填入合适代码。
def judge(name,key):
i =j=0
flag = False
while i < len(name):
if j < len(key)and ①____: #判i位和j位字符是否相同
i+= 1
j += 1
elif j < len(key)and key[j]="*": #遇到"*"记录其位置,并让其代替step个字符
flag = True
temp = [i,j]
step= 0
j += 1
elif flag: #回到前一个"*"位置,并让其代替step个字符
step += 1
②______
j=temp[1] +1
else: # 匹配失败
return False
if check_rest(key,j):
return True
else:
return False
(4)主程序,请在划线处填入合适代码。
key = input("请输入筛选条件:")
file= open("图书数据.csv")
print("您的筛选结果为:")
line = file.readline()
while line:
name = line.split(",")[0] #获取当前行图书名称并存入变量name
if_________:
print(line) #若符合条件则输出此条数据
line = file.readline()
file.close()
【答案】 ①. A ②. return False ③. name[i] ==key[j] ④. i=temp[0]+step ⑤. judge(name,key)
【解析】
【详解】本题考查Python程序设计相关内容。分析题目内容及程序段,推知:
(1)由题目内容可知,“*”可以代替任意个字符,书名是“自然语言处理”,key是“自*言*”,则匹配成功,结果为True。故①处答案为:A。
(2)②处所在为if语句,作用是判断字符串key从pos位开始是否均为“*”或空,若是返回True,否则返回False。当 key[i]!= "*"成立时,应返回False,故②处答案为:return False。
(3)③处所在为if语句,作用是判断i位和j位字符是否相同,故此处答案为:name[i] ==key[j]。④处,若匹配成功,则回到前一个“*”位置,并让其代替step个字符,结合上下文,此处对i重新定位,故此处答案为:i=temp[0]+step。

展开更多......

收起↑

资源列表