内容正文:
浙江省杭州二中2024-2025学年高二上期中技术(选考)
信息技术
本试卷分为信息技术和通用技术两部分,共100分,考试时间90分钟。
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 下列关于数据与信息的说法,不正确的是( )
A. 信息是用来消除随机不确定性的东西
B. 信息是可以加工处理的,这一特征使信息具有真伪性
C. 数据是对客观事物的符号表示,比如图形符号、数字等
D. 智慧是对信息的分析、判断、确认、归纳、演绎或比较等一系列认知过程
2. 下列有关大数据和大数据处理的说法,正确的是( )
A. 大数据只分析抽样数据
B. 大数据的数据量庞大,其价值密度低
C. 对于大量的实时数据适合采用批处理计算方式
D. 用大数据进行数据处理时,必须保证每个数据都准确无误
3. 将十进制正整数 m 转换为十六进制数,该十六进制数末位是 0。下列说法正确的是( )
A. 无法确定 m 是奇数还是偶数
B. 十进制数 m 一定是 10 的倍数
C. 十进制数 m 最小值可能是10
D. 十进制数 m 转换成二进制,最后 4 位均为 0
4. 某未经压缩的图像a和图像b,图像a为1920×1080像素、黑白图片,图像b为为1280×1024像素、256级灰度图,则图像a与b的存储容量之比约为( )
A. 2:5 B. 1:5 C. 1:10 D. 1:80
5. 下列关于字符编码的说法,正确的是( )
A. 中文常用的输入码有拼音码、五笔字形码等
B. 在GB2312字符集中,1个汉字在计算机中用2bit表示
C. 用某软件查看字符的内码,如图所示,其中ASCII编码字符个数是3个
D. 将ASCII码值从小到大排列,依次为:阿拉伯数字<小写英文字母<大写英文字母
6. 算法的部分流程图如图所示,若输入n的值为8,下列说法不正确的是( )
A. 该流程图含有一个分支结构 B. 输出s为11000000
C. 执行该流程后,n的值为0 D. 语句“n>0?”一共执行了5次
7. 与表达式not x<0 or y%2==0具有相同功能的是( )
A. x>=0 and y%2==1 B. x>=0 and y//2==0 C. x>0 or y/2==int(y/2) D. x>=0 or y//2==y/2
8. 用字典存储学生的学号、班级、姓名数据,如:stu={"ch20260120":["1 班","张三"],"ch20260212":["2 班","李四"] , ...},则获取学号为"ch20260212"同学姓名的python表达式是( )
A. stu{2}[-1] B. stu{"ch20260212"}[1]
C. stu[2][-1] D. stu["ch20260212"][1]
9. 很多城市公共交通工具的优惠和身高有关,如1米以下免票,1 米至1.5米以下半票,1.5米以上全票,若height表示身高,ticket表示车票优惠信息,以下哪项程序不正确( )
A.
if height>= 1.5:
ticket="全票"
elif height>=1.0:
ticket="半票"
else:
ticket="免票"
B.
if height>= 1.5:
ticket="全票"
if height>=1.0:
ticket="半票"
else:
ticket="免票"
C.
ticket="免票"
if height>=1.0:
ticket="半票"
if height>= 1.5:
ticket="全票"
D.
ticket="半票"
if height<1.0:
ticket="免票"
elif height>=1.5:
ticket="全票"
A. A B. B C. C D. D
10. 执行如下python程序段,输出结果为( )
a=[4,2,3,5,1,3,6,2,8]
n=len(a)
b={a[0]:0}
key=a[0]
for i in range(1,n):
if a[i]>key:
b[a[i]]=i
key=a[i]
print(b)
A. {8: 8} B. {3: 2, 5: 3, 6: 6, 8: 8}
C. {4: 0, 5: 3, 6: 6, 8: 8} D. {4: 0, 3: 2, 5: 3, 6: 6, 8:8}
11. 某Python程序如下:
import random
s=input("请输入一个由小写字母组成的字符串:")
s1=""
n=int(random.random()*4)+1 #random.random()随机生成一个[0,1)范围内的实数
for i in range(len(s)):
c1=chr((ord(s[i])-ord("a")-n+26)%26+ord("a"))
s1=s1+c1
print(s1)
以下输入、输出匹配不正确的是( )
A. 输入:happy 输出:fynnw
B. 输入:school 输出:nxcjjg
C. 输入:python 输出:lupdkj
D. 输入:national 输出:kxqflkxi
12. 有如下 python 程序段:
s='ccbbac'
a=[0,1,2,3,4,5]
for i in range(5):
for j in range(5-i):
if s[a[j]]>s[a[j+1]]:
a[j],a[j+1]=a[j+1],a[j]
print(a)
运行该程序段输出的结果为( )
A. [4,3,2,5,1,0] B. [4,5,3,2,1,0] C. [4,2,3,0,1,5] D. [4,3,2,5,0,1]
二、非选择题(本大题共3小题,第13题9分,第14题8分,第15题9分,共26分)
13. 老年机因其较大的按键,很适合老年人使用,但其中英文字母的输入方式比较麻烦,导致很多老年人不太会用。如图是一款老年机的键盘,其字母的输入方式如下:
一、若要输入英文字母“A”,则2键按1下;若要输入“B”,则2键按两下;其他英文字母的输入方式同理。
二、若连续输入的英文字母在同一数字键中,则在输入下一个英文字母前,需先按下1键以表示确定;若连续输入的英文字母不在同一数字键中,则不需要按1键,直接按所要输入英文字母对应的数字键即可。
三、若要输入空格,则按0键。
小朵同学依据该手机的字母输入规则,设计了一个Python程序。实现输入按键被点击的顺序,显示手机中输入的英文内容的功能。程序运行界面如图所示,实现该功能的程序代码如下:
keyboard={"0":" ","2":"ABC","3":"DEF","4":"GHI","5":"JKL","6":"MNO","7":"PQRS","8":"TUV","9":"WXYZ"}
yw=input("输入按键编号顺序:")
i=1
k=1
result=""
while i<len(yw):
if yw[i]==key:
k+=1
else:
if yw[i]=="1":
result+=keyboard[key][k-1]
key=yw[i]
i+=1
result+=
print("输出的内容是:",result)
请回答下列问题:
(1)若按键点击的顺序是“222666166655”,则手机中输入的英文是__________。
(2)要实现程序的功能,请完善划线处的代码。
①__________________ ②__________________
③__________________ ④__________________
14. 小明对共享单车使用情况十分感兴趣,于是他收集了相关数据存在”data.csv”文件中,部分数据如图a所示。
(1)小明编写了Python程序进行数据分析,并将处理后的数据进行可视化,如图b所示,请在横线上补充合适的代码:
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.family']=['SimHei']
#设置字体
df=pd.read_csv('data.csv')
for i in _____________ :
df.at[i,'时间']=int(df.at[i,'时间'][:-3])
#将时间转换成小时,如2:00转换成2
df2=df.groupby('时间', as_index=False). _____ #分组求平均值
plt.plot( ), label='游客')
'''
设置图像其他参数代码略
'''
(2)小明在网上了解到“人体感到舒适的温度是20度到23度左右”,他想分析在该温度区间共享单车的租赁情况,以下代码段中能筛选出该温度区间数据的是________。
A.
df3=df[df.温度>=20]
df3=df3[df3.温度<=23]
B.
df3=df[df.温度>=20]
df3=df[df.温度<=23]
C.
df3=df[df.温度<=23]
df3=df3[df3.温度>=20]
D.
df3=df[df.温度<=23]
df3=df[df.温度>=20]
15. 为了布置元旦迎新会场,高二某班家委购置了一箱彩旗,包含红、蓝、绿三种颜色。小红负责将这些彩旗进行串联组装。经盘点,红、蓝、绿三种颜色彩旗的数量分别为r面、b面、g面。为了充分布置会场,小红决定按照以下规则进行组装:
1.彩旗的排列规律为“x,y,x,y……”的循环模式,即假设每次先选取x面红色彩旗,接着拼接y面蓝色(或绿色)彩旗……以此类推,要求相邻的彩旗颜色不能相同。
2.每次选择彩旗时,优先使用剩余数量最多的颜色。若该颜色与上一面彩旗相同,则选择剩余数量第二多的颜色;若剩余数量最多的颜色不止一种,则按红、蓝、绿的颜色拼接。
3.若剩余彩旗不能满足条件1和条件2,则不使用。
例如r=12, b=15, g=10, x=2, y=5,小红组装的彩旗顺序为“蓝-红-蓝-绿-蓝-红-蓝-绿-蓝”
请根据这一规则,帮助小红合理组装彩旗。
(1)假设例子中蓝色彩旗的面数b改为10,则组装的彩旗长度为_________
(2)定义函数sort(d),列表d的每个元素由彩旗编号和数量构成,函数功能是将列表d中的元素按彩旗数量降序排列,如果彩旗数量相同,按彩旗编号升序排,并返回d。
def sort(d):
for j in range(len(d)-1):
for i in range(len(d)-j-1):
if d[i][1] < d[i+1][1]:
elif d[i][1]==d[i+1][1] and d[i][0]>d[i+1][0]:
d[i],d[i+1]=d[i+1],d[i]
return d
调用sort(d)函数,若d为[[0,10],[1,12],[2,12]],则程序段中加框处语句执行的次数是___________次。
(3)实现上述功能的部分Python程序如下,请在程序段划线处填入合适的代码。
''' 读取彩旗数据,存入列表flags中。列表flags中每个元素包含2个数据项,分别对应彩旗的编号和数量,如[[0, 12], [1, 15], [2, 10]],表示编号为0,1,2的彩旗数量分别为12,15,10面。
列表nums中存储彩旗的排列规律,如[2, 5],表示彩旗排列规律为 2, 5, 2, 5……。
'''
flags=sort(flags)
result=[]
n=0
while True:
index=0
if n==0:
flags[0][1]-=nums[0]
else:
if flags[index][0]==result[-1]:
index=1
_________________
if flags[index][1]>=fnum:
_______________
else:
break
result.append(flags[index][0])
_________________
n+=1
''' 将彩旗的组装顺序按编号输出,代码略。'''
第1页/共1页
学科网(北京)股份有限公司
$
浙江省杭州二中2024-2025学年高二上期中技术(选考)
信息技术
本试卷分为信息技术和通用技术两部分,共100分,考试时间90分钟。
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 下列关于数据与信息的说法,不正确的是( )
A. 信息是用来消除随机不确定性的东西
B. 信息是可以加工处理的,这一特征使信息具有真伪性
C. 数据是对客观事物的符号表示,比如图形符号、数字等
D. 智慧是对信息的分析、判断、确认、归纳、演绎或比较等一系列认知过程
【答案】D
【解析】
【详解】本题考查数据与信息的相关基本概念。选项A,香农对信息的经典定义指出信息是用来消除随机不确定性的东西,表述正确;选项B,信息具备可加工性,加工过程中如果出现偏差,就会产生不真实的信息,因此信息的可加工性使信息具有真伪性,表述正确;选项C,数据是对客观事物的符号表示,图形符号、数字等都属于数据,表述正确;选项D,对信息进行分析、判断、确认、归纳、演绎或比较等一系列认知加工后得到的是知识,该表述将这一认知过程归为智慧,说法错误,本题要求选出不正确的选项。故答案为:D。
2. 下列有关大数据和大数据处理的说法,正确的是( )
A. 大数据只分析抽样数据
B. 大数据的数据量庞大,其价值密度低
C. 对于大量的实时数据适合采用批处理计算方式
D. 用大数据进行数据处理时,必须保证每个数据都准确无误
【答案】B
【解析】
【详解】本题考查大数据相关内容。A选项,大数据的特点是分析全量数据,而不是抽样数据,这是与传统统计分析的重要区别之一,选项说法错误。B选项,大数据体量巨大,但其中真正有价值的信息占比很小,需要通过挖掘提取价值,选项说法正确。C选项,实时数据适合流处理(如Spark Streaming、Flink),批处理适合离线、非实时场景,选项说法错误。D选项,大数据常包含噪声、缺失值或不精确数据,处理时更注重整体趋势和统计规律,而非单个数据的精确性,选项说法错误。故本题答案是B选项。
3. 将十进制正整数 m 转换为十六进制数,该十六进制数末位是 0。下列说法正确的是( )
A. 无法确定 m 是奇数还是偶数
B. 十进制数 m 一定是 10 的倍数
C. 十进制数 m 最小值可能是10
D. 十进制数 m 转换成二进制,最后 4 位均为 0
【答案】D
【解析】
【详解】本题考查数制。
若用T表示该数据十六进制前面部分数值,则(T0)16=T×161+0×160=T×16,可知该数一定是偶数;一定是16的倍数,不一定是10的倍数;当T为1时,十进制数m为最小值,(10)16=(16)10。故正确答案为:选项D。
4. 某未经压缩的图像a和图像b,图像a为1920×1080像素、黑白图片,图像b为为1280×1024像素、256级灰度图,则图像a与b的存储容量之比约为( )
A. 2:5 B. 1:5 C. 1:10 D. 1:80
【答案】B
【解析】
【详解】本题考查未经压缩位图图像存储容量的计算。未经压缩图像存储容量的计算公式为:存储容量 = 水平像素数 × 垂直像素数 × 位深度,计算容量之比时公共部分可约去。首先确定两幅图像的位深度:图像a是黑白图片,共2种颜色,由2的1次方等于2可得位深度为1;图像b是256级灰度图,共256种颜色,由2的8次方等于256可得位深度为8。代入公式计算比值:图像a容量比图像b容量等于(1920×1080×1)比(1280×1024×8),计算后约等于1比5。故答案为:B。
5. 下列关于字符编码的说法,正确的是( )
A. 中文常用的输入码有拼音码、五笔字形码等
B. 在GB2312字符集中,1个汉字在计算机中用2bit表示
C. 用某软件查看字符的内码,如图所示,其中ASCII编码字符个数是3个
D. 将ASCII码值从小到大排列,依次为:阿拉伯数字<小写英文字母<大写英文字母
【答案】A
【解析】
【详解】本题考查字符编码相关内容。选项A:输入码是用于将汉字输入计算机的编码,中文常用输入码包括音码类的拼音码、形码类的五笔字形码等,说法正确。选项B:GB2312字符集中,1个汉字在计算机中用2字节(即16bit)存储,不是2bit,说法错误。选项C:汉字GB内码每个汉字占2字节,且每个字节十六进制值大于80H;ASCII字符每个占1字节,字节值小于80H。本题内码中,BA BC、B6 FE分别对应1个汉字,共2个汉字;剩余21、20、48、32、7A共5个ASCII字符,不是3个,说法错误。选项D:ASCII码值的正确从小到大顺序为:阿拉伯数字<大写英文字母<小写英文字母,选项顺序错误,说法错误。故本题答案是A选项。
6. 算法的部分流程图如图所示,若输入n的值为8,下列说法不正确的是( )
A. 该流程图含有一个分支结构 B. 输出s为11000000
C. 执行该流程后,n的值为0 D. 语句“n>0?”一共执行了5次
【答案】A
【解析】
【详解】本题考查算法流程图的执行分析。输入n的值为8,逐步模拟流程执行可得:初始x=0,s为空字符串,一共会进行5次n>0的判断,前四次判断结果都为真,依次计算后最终得到s为11000000,n变为0,第五次判断结果为假,退出循环输出s。由此可知,输出s为11000000、执行流程后n为0、判断语句一共执行5次这三个说法都正确,本题要求选择不正确的说法,第一个选项说法错误。故答案为:A。
7. 与表达式not x<0 or y%2==0具有相同功能的是( )
A. x>=0 and y%2==1 B. x>=0 and y//2==0 C. x>0 or y/2==int(y/2) D. x>=0 or y//2==y/2
【答案】D
【解析】
【详解】本题主要考查Python表达式的运算。表达式not x<0 or y%2==0的意思是x大于等于0或y是偶数,与表达式not x<0 or y%2==0具有相同功能的是x>=0 or y//2==y/2(//是整除运算符,/是除运算符),故本题选D选项。
8. 用字典存储学生的学号、班级、姓名数据,如:stu={"ch20260120":["1 班","张三"],"ch20260212":["2 班","李四"] , ...},则获取学号为"ch20260212"同学姓名的python表达式是( )
A. stu{2}[-1] B. stu{"ch20260212"}[1]
C. stu[2][-1] D. stu["ch20260212"][1]
【答案】D
【解析】
【详解】本题考查Python中字典和列表的索引操作。在Python中,字典需要通过键来访问对应的值,本题里字典stu以学号作为键,每个键对应的值是存储班级、姓名的列表,列表中索引0位置存储班级,索引1位置存储姓名;要获取学号为"ch20260212"同学的姓名,首先需要通过键"ch20260212"从字典中取出对应列表,再取索引1位置的元素,即表达式为stu["ch20260212"][1],符合该描述的是第四个选项。故答案为:D。
9. 很多城市公共交通工具的优惠和身高有关,如1米以下免票,1 米至1.5米以下半票,1.5米以上全票,若height表示身高,ticket表示车票优惠信息,以下哪项程序不正确( )
A.
if height>= 1.5:
ticket="全票"
elif height>=1.0:
ticket="半票"
else:
ticket="免票"
B.
if height>= 1.5:
ticket="全票"
if height>=1.0:
ticket="半票"
else:
ticket="免票"
C.
ticket="免票"
if height>=1.0:
ticket="半票"
if height>= 1.5:
ticket="全票"
D.
ticket="半票"
if height<1.0:
ticket="免票"
elif height>=1.5:
ticket="全票"
A. A B. B C. C D. D
【答案】B
【解析】
【详解】本题考查Python选择结构程序设计相关内容。由车票优惠规则分析四个选项,ACD选项均符合规则描述,程序正确。B选项,若height=1.6:第一个if成立,ticket="全票";但第二个if 1.6>=1.0也成立,会把ticket覆盖成"半票",不符合≥1.5应全票的规则,逻辑错误。故本题答案是B选项。
10. 执行如下python程序段,输出结果为( )
a=[4,2,3,5,1,3,6,2,8]
n=len(a)
b={a[0]:0}
key=a[0]
for i in range(1,n):
if a[i]>key:
b[a[i]]=i
key=a[i]
print(b)
A. {8: 8} B. {3: 2, 5: 3, 6: 6, 8: 8}
C. {4: 0, 5: 3, 6: 6, 8: 8} D. {4: 0, 3: 2, 5: 3, 6: 6, 8:8}
【答案】C
【解析】
【详解】本题考查Python程序的流程分析能力,涉及列表、字典、for循环与条件判断的基础应用。初始时,a为[4,2,3,5,1,3,6,2,8],字典b初始化为{4:0},key初始值为4。遍历i从1到8依次判断:i=1,a[i]=2不大于key,无操作;i=2,a[i]=3不大于key,无操作;i=3,a[i]=5大于key,向b中添加键值对5:3,更新key为5;i=4,a[i]=1不大于key,无操作;i=5,a[i]=3不大于key,无操作;i=6,a[i]=6大于key,向b中添加键值对6:6,更新key为6;i=7,a[i]=2不大于key,无操作;i=8,a[i]=8大于key,向b中添加键值对8:8,更新key为8。最终得到的b是{4: 0, 5: 3, 6: 6, 8: 8},对应题目第三个选项。故答案为:C。
11. 某Python程序如下:
import random
s=input("请输入一个由小写字母组成的字符串:")
s1=""
n=int(random.random()*4)+1 #random.random()随机生成一个[0,1)范围内的实数
for i in range(len(s)):
c1=chr((ord(s[i])-ord("a")-n+26)%26+ord("a"))
s1=s1+c1
print(s1)
以下输入、输出匹配不正确的是( )
A. 输入:happy 输出:fynnw
B. 输入:school 输出:nxcjjg
C. 输入:python 输出:lupdkj
D. 输入:national 输出:kxqflkxi
【答案】B
【解析】
【详解】本题考查Python程序逻辑分析和字符串移位运算。首先分析得到n的取值范围,由于random.random()生成[0,1)的实数,因此int(random.random()*4)+1得到的n只能是1、2、3、4,程序功能是将每个输入小写字母向前移动n位,超出字母范围则循环移位。逐一验证选项:A选项输入happy,当n取2时,计算可得输出为fynnw,匹配正确;B选项输入school,计算可得第一个字符s对应输出n需要移位5,移位量为5,超出n的最大取值4,匹配错误;C选项输入python,当n取4时,计算可得输出为lupdkj,匹配正确;D选项输入national,当n取3时,计算可得输出为kxqflkxi,匹配正确。故答案为:B。
12. 有如下 python 程序段:
s='ccbbac'
a=[0,1,2,3,4,5]
for i in range(5):
for j in range(5-i):
if s[a[j]]>s[a[j+1]]:
a[j],a[j+1]=a[j+1],a[j]
print(a)
运行该程序段输出的结果为( )
A. [4,3,2,5,1,0] B. [4,5,3,2,1,0] C. [4,2,3,0,1,5] D. [4,3,2,5,0,1]
【答案】C
【解析】
【详解】本题考查Python程序设计及冒泡排序相关内容。字符串s='ccbbac',下标对应:0:c,1:c,2:b,3:b,4:a,5:c。数组a=[0,1,2,3,4,5],存储的是字符下标;代码是冒泡排序:按s[a[j]]的字符大小升序交换(小的往前放),循环5轮(一共6个元素,冒泡只需5轮)。
初始:a=[0,1,2,3,4,5]
(1)第1轮i=0,j遍历0~4(5-i=5)
依次比较相邻:
j=0:s[0]=cvss[1]=c→不换→[0,1,2,3,4,5]
j=1:s[1]=cvss[2]=b→c>b,交换→[0,2,1,3,4,5]
j=2:s[1]=cvss[3]=b→c>b,交换→[0,2,3,1,4,5]
j=3:s[1]=cvss[4]=a→c>a,交换→[0,2,3,4,1,5]
j=4:s[1]=cvss[5]=c→不换→[0,2,3,4,1,5]
第1轮结束:[0,2,3,4,1,5]
(2)第2轮i=1,j遍历0~3(5-i=4)
j=0:s[0]=cvss[2]=b→c>b,交换→[2,0,3,4,1,5]
j=1:s[0]=cvss[3]=b→c>b,交换→[2,3,0,4,1,5]
j=2:s[0]=cvss[4]=a→c>a,交换→[2,3,4,0,1,5]
j=3:s[0]=cvss[1]=c→不换→[2,3,4,0,1,5]
第2轮结束:[2,3,4,0,1,5]
(3)第3轮i=2,j遍历0~2(5-i=3)
j=0:s[2]=bvss[3]=b→不换→[2,3,4,0,1,5]
j=1:s[3]=bvss[4]=a→b>a,交换→[2,4,3,0,1,5]
j=2:s[3]=bvss[0]=c→b<c,不换→[2,4,3,0,1,5]
第3轮结束:[2,4,3,0,1,5]
(4)第4轮i=3,j遍历0~1(5-i=2)
j=0:s[2]=bvss[4]=a→b>a,交换→[4,2,3,0,1,5]
j=1:s[2]=bvss[3]=b→不换→[4,2,3,0,1,5]
第4轮结束:[4,2,3,0,1,5]
(5)第5轮i=4,j遍历0~0(5-i=1)
j=0:s[4]=avss[2]=b→a<b,不交换
第5轮最终结果:[4,2,3,0,1,5]。
故本题答案是C选项。
二、非选择题(本大题共3小题,第13题9分,第14题8分,第15题9分,共26分)
13. 老年机因其较大的按键,很适合老年人使用,但其中英文字母的输入方式比较麻烦,导致很多老年人不太会用。如图是一款老年机的键盘,其字母的输入方式如下:
一、若要输入英文字母“A”,则2键按1下;若要输入“B”,则2键按两下;其他英文字母的输入方式同理。
二、若连续输入的英文字母在同一数字键中,则在输入下一个英文字母前,需先按下1键以表示确定;若连续输入的英文字母不在同一数字键中,则不需要按1键,直接按所要输入英文字母对应的数字键即可。
三、若要输入空格,则按0键。
小朵同学依据该手机的字母输入规则,设计了一个Python程序。实现输入按键被点击的顺序,显示手机中输入的英文内容的功能。程序运行界面如图所示,实现该功能的程序代码如下:
keyboard={"0":" ","2":"ABC","3":"DEF","4":"GHI","5":"JKL","6":"MNO","7":"PQRS","8":"TUV","9":"WXYZ"}
yw=input("输入按键编号顺序:")
i=1
k=1
result=""
while i<len(yw):
if yw[i]==key:
k+=1
else:
if yw[i]=="1":
result+=keyboard[key][k-1]
key=yw[i]
i+=1
result+=
print("输出的内容是:",result)
请回答下列问题:
(1)若按键点击的顺序是“222666166655”,则手机中输入的英文是__________。
(2)要实现程序的功能,请完善划线处的代码。
①__________________ ②__________________
③__________________ ④__________________
【答案】(1)COOK
(2) ①. key=yw[0] ②. i=i+1 ③. k=1 ④. keyboard[key][k-1]
【解析】
【小问1详解】
本题考查字符串处理相关内容。把按键序列按"不同数字键分段"来读:222|666|1|666|55,2键的字母串是"ABC",第3个索引位置是2→"ABC"[2]="C";6键和上一个2键不同,直接输入;"MNO"[2]="O";1键,分隔符,确认上一个字母"O"输入完成,本身不产生字符;经过1分隔后,可以再次按6键;"MNO"[2]="O";5键和上一个6键不同,直接输入;"JKL"[1]="K"。故本题答案是:COOK。
【小问2详解】
本题考查字符串处理及程序设计相关内容。程序的核心逻辑是:遍历按键字符串,统计连续相同按键的次数k,遇到不同按键时,根据k值取出对应字母拼接到结果中。程序从索引i=1开始遍历输入字符串,第一个字符需要初始化为key,故①处答案是:key=yw[0];遇到分隔符1时(yw[i]=="1"),跳过这个字符,不输出任何内容,继续处理后面的真正字母,故②处答案是:i=i+1;遇到不同按键(非1非当前key),添加完前一个字符、更换新key后,需要重置按键次数k为1,故③处答案是:k=1;循环结束后,最后一组按键还未添加到结果中,因此需要将最后一组对应的字符追加到result,故④处答案是:keyboard[key][k-1]。
14. 小明对共享单车使用情况十分感兴趣,于是他收集了相关数据存在”data.csv”文件中,部分数据如图a所示。
(1)小明编写了Python程序进行数据分析,并将处理后的数据进行可视化,如图b所示,请在横线上补充合适的代码:
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.family']=['SimHei']
#设置字体
df=pd.read_csv('data.csv')
for i in _____________ :
df.at[i,'时间']=int(df.at[i,'时间'][:-3])
#将时间转换成小时,如2:00转换成2
df2=df.groupby('时间', as_index=False). _____ #分组求平均值
plt.plot( ), label='游客')
'''
设置图像其他参数代码略
'''
(2)小明在网上了解到“人体感到舒适的温度是20度到23度左右”,他想分析在该温度区间共享单车的租赁情况,以下代码段中能筛选出该温度区间数据的是________。
A.
df3=df[df.温度>=20]
df3=df3[df3.温度<=23]
B.
df3=df[df.温度>=20]
df3=df[df.温度<=23]
C.
df3=df[df.温度<=23]
df3=df3[df3.温度>=20]
D.
df3=df[df.温度<=23]
df3=df[df.温度>=20]
【答案】(1) ①. df.index/range(len(df)) ②. mean() ③. df2.时间, df2.游客
(2)AC
【解析】
【小问1详解】
本题考查pandas数据遍历操作、分组聚合操作、折线图的绘制。①我们需要逐行处理时间列,循环需要获取每一行的行索引,既可以遍历df.index直接拿到所有行索引,也可以通过range(len(df))得到所有行的序号,都可以满足逐行处理的需求。故答案为:df.index或range(len(df))。②题目要求分组后计算各分组的平均值,groupby分组后,调用mean()方法即可完成分组求平均值的操作。故答案为:mean()。③plt.plot()需要依次传入x轴数据和y轴数据,本次可视化x轴为分组后的时间,y轴为对应时间游客的平均租赁数量,因此需要传入这两个数据。故答案为:df2.时间, df2.游客。
【小问2详解】
本题考查pandas的多条件数据筛选操作。要筛选温度在20度到23度之间的数据,需要温度同时满足大于等于20和小于等于23两个条件,筛选时需要先得到满足第一个条件的结果,再在这个结果中筛选满足第二个条件,顺序不限。A选项先筛选出大于等于20度的数据存入df3,再在df3中筛选出小于等于23度的数据,符合要求;B选项第二次筛选仍基于原df,最终结果仅保留了小于等于23度的数据,不符合要求;C选项先筛选出小于等于23度的数据存入df3,再在df3中筛选出大于等于20度的数据,符合要求;D选项第二次筛选仍基于原df,最终结果仅保留了大于等于20度的数据,不符合要求。故答案为:AC。
15. 为了布置元旦迎新会场,高二某班家委购置了一箱彩旗,包含红、蓝、绿三种颜色。小红负责将这些彩旗进行串联组装。经盘点,红、蓝、绿三种颜色彩旗的数量分别为r面、b面、g面。为了充分布置会场,小红决定按照以下规则进行组装:
1.彩旗的排列规律为“x,y,x,y……”的循环模式,即假设每次先选取x面红色彩旗,接着拼接y面蓝色(或绿色)彩旗……以此类推,要求相邻的彩旗颜色不能相同。
2.每次选择彩旗时,优先使用剩余数量最多的颜色。若该颜色与上一面彩旗相同,则选择剩余数量第二多的颜色;若剩余数量最多的颜色不止一种,则按红、蓝、绿的颜色拼接。
3.若剩余彩旗不能满足条件1和条件2,则不使用。
例如r=12, b=15, g=10, x=2, y=5,小红组装的彩旗顺序为“蓝-红-蓝-绿-蓝-红-蓝-绿-蓝”
请根据这一规则,帮助小红合理组装彩旗。
(1)假设例子中蓝色彩旗的面数b改为10,则组装的彩旗长度为_________
(2)定义函数sort(d),列表d的每个元素由彩旗编号和数量构成,函数功能是将列表d中的元素按彩旗数量降序排列,如果彩旗数量相同,按彩旗编号升序排,并返回d。
def sort(d):
for j in range(len(d)-1):
for i in range(len(d)-j-1):
if d[i][1] < d[i+1][1]:
elif d[i][1]==d[i+1][1] and d[i][0]>d[i+1][0]:
d[i],d[i+1]=d[i+1],d[i]
return d
调用sort(d)函数,若d为[[0,10],[1,12],[2,12]],则程序段中加框处语句执行的次数是___________次。
(3)实现上述功能的部分Python程序如下,请在程序段划线处填入合适的代码。
''' 读取彩旗数据,存入列表flags中。列表flags中每个元素包含2个数据项,分别对应彩旗的编号和数量,如[[0, 12], [1, 15], [2, 10]],表示编号为0,1,2的彩旗数量分别为12,15,10面。
列表nums中存储彩旗的排列规律,如[2, 5],表示彩旗排列规律为 2, 5, 2, 5……。
'''
flags=sort(flags)
result=[]
n=0
while True:
index=0
if n==0:
flags[0][1]-=nums[0]
else:
if flags[index][0]==result[-1]:
index=1
_________________
if flags[index][1]>=fnum:
_______________
else:
break
result.append(flags[index][0])
_________________
n+=1
''' 将彩旗的组装顺序按编号输出,代码略。'''
【答案】(1)28 (2)2
(3) ①. fnum=nums[n%len(nums)] ②. flags[index][1]-=fnum ③. flags=sort(flags)
【解析】
【小问1详解】
本题考查逻辑推理与规则应用能力。已知条件为r=12,b=10,g=10,x=2,y=5,按照题目给定的组装规则逐步排列,每次选取符合要求的颜色取用对应数量,最终组装完成后彩旗总长度为28。故答案为:28。
【小问2详解】
本题考查冒泡排序的代码执行流程分析。初始列表d = [[0,10],[1,12],[2,12]],长度为3,外层循环j共执行2次:j=0时,i依次取0、1,两次都满足d[i][1] < d[i+1][1]的条件,加框交换语句各执行1次,共2次;j=1时,i仅取0,不满足交换条件,不执行语句。因此加框语句总执行次数为2次。故答案为:2。
【小问3详解】
本题考查Python程序补全,算法规则的代码实现。①排列规律为x,y循环,nums存储规律值,第n轮组装需要获取本次对应需要取用的彩旗数量,通过n对nums长度取模得到对应索引即可得到本次需求量,因此填入对应代码。故答案为:fnum=nums[n%len(nums)]。②算法规则的代码实现。判断选中颜色的剩余数量满足本次需求后,需要更新该颜色的剩余数量,减去本次取用的fnum,因此填入对应代码。故答案为:flags[index][1]-=fnum。③取用彩旗后各颜色剩余数量发生变化,下一轮选颜色需要重新按照规则排序,因此需要调用sort函数重新排序更新后的flags,填入对应代码。故答案为:flags=sort(flags)。
第1页/共1页
学科网(北京)股份有限公司
$