浙江省温州市平阳县佳诚高中2021-2022学年高二上学期信息技术第一次月考试卷

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

浙江省温州市平阳县佳诚高中2021-2022学年高二上学期信息技术第一次月考试卷

资源简介

浙江省温州市平阳县佳诚高中2021-2022学年高二上学期信息技术第一次月考试卷
一、选择题
1.(2021高二上·平阳月考)下列关于数据与信息的说法,不正确的是(  )
A.数据是对客观事物的符号表示
B.信息是用来消除随机不确定性的东西
C.数据的表现形式很多
D.信息具有时效性,过期的信息就会消失
【答案】D
【知识点】信息及其特征;数据、信息、知识与智慧的关系;数据的形式
2.(2021高二上·平阳月考)使用UltraEdit软件观察字符串“3-2=1”的内容,如图所示:
则字符串“6+8>10”的内码是(  )
A.36 2B 38 3D 40
B.36 2B 38 3E 31 30
C.36 2B 38 3E 3A
D.36 2B 38 3D 31 30
【答案】B
【知识点】字符编码
3.(2021高二上·平阳月考)二进制数101001100转换成十六进制数是(  )
A.14C B.D6 C.13B D.24B
【答案】A
【知识点】进制及数制转换
4.(2021高二上·平阳月考)某算法的部分流程图如图所示,执行该流程后,“m-1”被执行的次数为(  )
A.3 B.4 C.5 D.6
【答案】C
【知识点】流程图识读
5.(2021高二上·平阳月考)下列选项中变量和数据结构不正确的是(  )
A._B4
B.list
C.创建字典: m={“李华”, “高三”, “98”}
D.“hello ”*3的值为“hello hello hello ”
【答案】B
【知识点】常量、变量及变量的赋值;基本数据结构
6.(2021高二上·平阳月考)表达式22//4+13%5**2的结果为(  )
A.24 B.56 C.25 D.18
【答案】D
【知识点】运算符、基本运算与表达式
【解析】【解答】运算等级**>%。22//4+13%5**2=5+13%25=5+13=18。故答案选D。
【分析】本题考查的是Python表达式的运算。//表示整除,%表示求余,**表示幂乘。
7.(2021高二上·平阳月考)x是整型变量,下列选项中,与表达式not x<=1 and not x>6等价的是(  )
①not(x<=1 and x>6) ②not(x<=1 or x>6)
③x>1 and x<=6 ④x>1 or x<=6
A.①③ B.①④ C.②③ D.②④
【答案】C
【知识点】运算符、基本运算与表达式
【解析】【解答】not x<=1 and not x>6等价于:x>1 and x<=6 或not(x<=1 or x>6)。故答案选C。
【分析】本题考查的是Python逻辑表达式。逻辑运算符运算等级:not>and>or。
8.(2021高二上·平阳月考)十六进制数值 10~15分别用大写字母A~F来表示,如果变量 s 表示大写字母A~F中的任意一个字母,能将变量s转换成对应数值的正确表达式是(  )
A.ord(s)-ord("A")+10 B.ord(s)-ord(A)+10
C.chr(s)-chr("A")+10 D.chr(s)-chr(A)+10
【答案】A
【知识点】常用标准函数
【解析】【解答】ord(c) 函数返回对应字符c的 ASCII 数值;chr(x)函数是返回整数x对应的 ASCII字符。将变量s转换成对应数值的正确表达式是:ord(s)-ord("A")+10。故答案选A。
【分析】本题考查的是Python函数与表达式。
9.(2021高二上·平阳月考)下面的程序,若想运行结果是Best Wishes to you!,则划线处代码可能是(  )
s="Happy National Day!"
m=____
if m=="Happy":
print("Happy to you!")
elif m=="National":
print("Best Wishes to you!")
else:
print("It's a fine Day!")
A.s[6:13] B.s[7:14]
C.s[-6:-14:-1] D.s[-13:-5:1]
【答案】D
【知识点】常见数据类型、数组;分支结构语句及程序实现
【解析】【解答】start_index:表示起始索引(包含该索引对应值),该参数省略时,表示从对象“端点”开始取值。end_index:表示终止索引(不包含该索引对应值),该参数省略时,表示一直取到数据“端点”。运行结果是Best Wishes to you!,可知变量m="National",s[6:13]="Nationa",s[7:14]="ational",s[-6:-14:-1]="lanoitaN",s[-13:-5:1]="National"。故答案选D。
【分析】本题考查的是Python分支结构字符切片操作。字符串和列表的切片操作:
格式:[start: end: step]。
功能:返回从索引位置start到索引位置end且以step为步数的子序列(不包含索引位置end的元素)。
step:正负数均可,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。
10.(2021高二上·平阳月考)下列程序的运行结果是(  )
word=["my","apple","Label","Name","nose","nice"]
n=0
for ch in word:
if ch[1]=="a":
n=n+1
print(ch,end=" ")
print(n)
A. B.
C.apple 1 D.Label Name 2
【答案】D
【知识点】循环结构语句及程序实现
【解析】【解答】ch[1]=="a"可知,查找word列表中单词第二字母为"a",end=" "表示输出时不换行,n是统计满足条件单词的个数,程序的运行结果是:Label Name 2。故答案选D。
【分析】本题考查的是Python循环语句。字符串和列表的索引:索引正向从0开始递增,反向从-1开始递减。
11.(2021高一下·柯桥期末)有如下python程序段:
a=[4,5,3, 6, 7,8,2, 9, 1]
m,c=1,1
for i in range(1, len(a)):
if a[i]>=a[i-1]:
c+=1
m=max (m, c)
else:
c=1
print(c,m)
则程序执行后,c和m的值分别是(  )
A.1和1 B.1和4 C.2和4 D.3和4
【答案】B
【知识点】循环结构语句及程序实现;基本数据结构
12.(2021高二上·平阳月考)下列程序的运行结果是(  )
s="2h4j5, 94af87"
n=i=0
m=len(s)
num="0123456789"
while i
if s[m-i-1] in num:
n=n*10+int(s[m-i-1])
i=i+1
if n>1000:
break
print(n)
A.245 B.784 C.2459 D.7849
【答案】D
【知识点】分支结构语句及程序实现;循环结构语句及程序实现
【解析】【解答】由if s[m-i-1] in num及 n=n*10+int(s[m-i-1])可知,将字符串s中的数字从后往前提取,当提取数字n=7849时,条件n>1000成立,循环终止。故答案选D。
【分析】本题主要考查的是Python字符串操作。字符串和列表的索引:索引正向从0开始递增,反向从-1开始递减。
13.(2021高一下·绍兴期中)运行下面的程序,执行完成后,输出的值是(  )
x=4095
s1="ABCDEFGHIJ"
s2="abcdefghij"
ret=""
while x>0:
r=x % 10
if r % 2==1:
ret=s1[r]+ret
else:
ret=ret+s2[r]
x=x//10
print(ret)
A.JFae B.JFea C.eaJF D.EAjf
【答案】A
【知识点】运算符、基本运算与表达式;循环结构语句及程序实现
【解析】【解答】程序分析:
第一次循环,x=4095,r=x % 10=5,ret=s1[r]+ret="F",x=x//10=409;
第二次循环,r=x % 10=9,ret=s1[r]+ret="JF",x=x//10=40;
第三次循环,r=x % 10=0,ret=ret+s2[r]="JFa",x=x//10=4;
第四次循环,r=x % 10=4,ret=ret+s2[r]="JFae",x=x//10=0,循环结束,输出ret的值为JFae。
故答案选A。
【分析】本题主要考查的是Python表达式和循环结构程序的运行。//是向下取整除法,%是求模。
14.(2021高二上·平阳月考)下列程序运行后,结果可能的是(  )
import random
list1=[]
i=0
while i<=5:
n=random.randint(10,45)
if n%5!=0:
list1.append(n)
i=i+1
m=random.sample(list1,2)
print(m)
A.[35, 14] B.[33, 24]
C.14, 24 D.[23.0, 45.0]
【答案】B
【知识点】循环结构语句及程序实现
【解析】【解答】while循环中,变量n是随机生成[10,45]之间的整数,当n不是5的倍数时,将其添加到列表list1中,m是随机取list1中的2个数形成新的列表,结合选项可知,结果可能的是[33,24]。故答案选B。
【分析】本题主要考查的是循环结构以及列表的操作。random.randint(a,b)用于生成一个指定范围内的整数,生成的随机数n: a<=n<=b。对于random.sample的用法,多用于截取列表的指定长度的随机数,但是不会改变列表本身的排序。
15.(2021高二上·平阳月考)在一次比赛中,需要随机给10名选手各编一个0~9范围内的唯一序号,对应的Python程序段如下:
____
a,b=[0]*10,[False]*10
i=0
while i<=9:
____
if not b[r]:
a[i]=r
____
i=i+1
print(a)
则划线处的代码依次是( )
① r=random.randint(0,10)
② b[r]=True
③import random
④ b[i]=True
⑤from random import randint
⑥ r=random.randint(0,9)
A.⑤①② B.⑤⑥④ C.③①④ D.③⑥②
【答案】B
【知识点】循环结构语句及程序实现;常用标准函数
【解析】【解答】第一空:使用随机函数需要首先导入随机函数库,填from random import randint;
第二空:random()方法返回随机生成的一个实数,它在[0,1)范围内。random.randint(a,b)用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b,需要随机给10名选手各编一个0~9范围内的唯一序号,填 r=random.randint(0,9);
第三空:此处确保生成唯一序号,将其标记为True,填b[i]=True。
故答案选B。
【分析】本题主要考查的是循环结构以及函数的应用。
二、非选择题
16.(2021高二上·平阳月考)使用Excel软件对某学校“校园文化节”节目评分进行数据处理,如图所示,回答下列问题:
(1) 各大节目的得分是将“主题内容”、“舞台效果”、“表现演绎”、“总体印象”的成绩分别乘以对应的权重后相加所得。通过 G3 单元格中的公式,对 G4:G20 进行自动填充,则G3单元格中的公式是   。
(2)为了要对比分析图中歌唱类各节目(主题内容、舞台效果、表现演绎、总体印象)的得分情况,请写出一种分析方法:
A.哪些数据是本次分析必需的,写出数据区域   。 B.如何分析这些数据,选用哪种图表类型   。
(3)若要对图中舞蹈类按得分进行降序排序,需选择的排序区域是   。
【答案】(1)=C3*J$3+D3*J$4+E3*J$5+F3*J$6 或 =C3*$J$3+D3*$J$4+E3*$J$5+F3*$J$6
(2)B2:F8;柱形图或条形图
(3)B17:G20
【知识点】表格数据的处理与计算;数据分析
【解析】【解答】(1)各大节目的得分是将“主题内容”、“舞台效果”、“表现演绎”、“总体印象”的成绩分别乘以对应的权重后相加所得,通过G3单元格中的公式,对G4:G20进行自动填充。故权重单元格必须固定,则G3单元格中的公式是:=C3*J$3+D3*J$4+E3*J$5+F3*J$6 或 =C3*$J$3+D3*$J$4+E3*$J$5+F3*$J$6。
(2)A.歌唱类各节目(主题内容、舞台效果、表现演绎、总体印象)的得分所在范围是:B2:F8。
B.柱形图:反映数据间的多少与大小关系。条形图:显示各个项目之间的比较情况。要对比各节目的得分情况,选柱形图或条形图都可。
(3)排序区域可以不包含标题行,但只能选择一个连续区域,且有合并单元格的数据区域不可进行排序。若要对图中舞蹈类按得分进行降序排序,需选择的排序区域是:B17:G20
【分析】本题主要考查的是表格中公式的应用、数据的排序以及数据分析。
17.(2021高二上·平阳月考)一个弹球会发出红、绿或蓝三种单色光。 发着光的弹球从高处垂直下落,触地会垂直弹起,且弹起时发光颜色会变化。 假设弹球下落高度为 h, 触地前发红光、绿光、蓝光时,反弹高度分别为0.8h、0.6h、0.5h。 触地若干次后,弹球弹起时不再发光。观察弹球的发光颜色变化,并用字符串记录,其中每个字符表示弹球一次触地前的发光颜色(字符R、G、B 分别表示红、绿、蓝)。编写一个程序,计算弹球发光状态下的运动轨迹长度。
(1)请根据运行结果,完善下面的代码
h=   
s=input('触地前的发光颜色变化:')
d={'R':0.8,'G':0.6,'B':0.5}
sum=h
for i in range(1,len(s)):
   
h=d[c]*h
sum=   
print('弹球发光状态下的运动轨迹长度:'+str(sum))
(2)请结合题目描述和程序代码判断这是哪种算法   (单选,填字母:A .解析算法/B .枚举算法)
【答案】(1)int(input("输入弹球的初始高度:"));c=s[i-1];sum+2*h
(2)B
【知识点】枚举算法及程序实现;循环结构语句及程序实现
【解析】【解答】(1)第一空:程序开始要输入初始高度,故为:int(input("输入弹球的初始高度:"));
第二空:由h=d[c]*h及d={'R':0.8,'G':0.6,'B':0.5}可知上一条语句要从s中取出颜色,字符串索引是从0开始,i是从1开始,故为:c=s[i-1];
第三孔:sum是存放的运动轨迹长度,同一种颜色的弹起和落下的路径相同,故为:sum+2*h。
(2)枚举算法就是按问题本身的性质,列举所有可能的结果,并逐一判断,排除其中不符合要求的结果,这种方法称为枚举算法,也称为“穷举法”。解析法是指用解析的方法找出表示问题的前提条件与结果之间关系的数学表达式。题目程序使用的是枚举法。故答案为:B。
【分析】本题考查的是枚举算法的应用。
18.(2021高二上·平阳月考)判断身份证校验位是否正确
第一步:将身份证号码的第1位数字与7相乘;将身份证号码的第2位数字与9相乘;将身份证号码的第3位数字与10相乘;将身份证号码的第4位数字与5相乘;将身份证号码的第5位数字与8相乘;将身份证号码的第6位数字与4相乘;将身份证号码的第7位数字与2相乘;将身份证号码的第8位数字与1相乘;将身份证号码的第9位数字与6相乘;将身份证号码的第10位数字与3相乘;将身份证号码的第11位数字与7相乘;将身份证号码的第12位数字与9相乘;将身份证号码的第13位数字与10相乘;将身份证号码的第14位数字与5相乘;将身份证号码的第15位数字与8相乘;将身份证号码的第16位数字与4相乘;将身份证号码的第17位数字与2相乘。
第二步:将第一步身份证号码1~17位相乘的结果求和,全部加起来。
第三步:用第二步计算出来的结果除以11,这样就会出现余数为0,余数为1,余数为2,余数为3,余数为4,余数为5,余数为6,余数为7,余数为8,余数为9,余数为10共11种可能性。
第四步:如果余数为0,那对应的最后一位身份证的号码为1;如果余数为1,那对应的最后一位身份证的号码为0;如果余数为2,那对应的最后一位身份证的号码为X;如果余数为3,那对应的最后一位身份证的号码为9;如果余数为4,那对应的最后一位身份证的号码为8;如果余数为5,那对应的最后一位身份证的号码为7;如果余数为6,那对应的最后一位身份证的号码为6;如果余数为7,那对应的最后一位身份证的号码为5;如果余数为8,那对应的最后一位身份证的号码为4;如果余数为9,那对应的最后一位身份证的号码为3;如果余数为10,那对应的最后一位身份证的号码为2。
余数列表 0 1 2 3 4 5 6 7 8 9 10
校验码对照表 1 0 X 9 8 7 6 5 4 3 2
B2 某男性公民公民身份号码本体码为44052418800101001,其校验码字符值仍可按B1各步骤与方法计算如下:
=28+36+0+ 25+16+16+2+8+48+0+0+9+0+5+0+0+2=195
195÷11=17,即(ai×Wi)(mod 11)为8。
查表2得出校验码字符值ai为4。
该男性公民的公民身份号码为440524188001010014。
(1) 如果身份证的前17位是34052419800101001,则该身份证的校验位是   。
(2)实现上述功能的代码如下,请在划线处填入合适的代码,使程序正常运行。
def check(s):
s1=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]
s2='10X98765432'
k=0
for i in    :
k=k+int(s[i])*s1[i]
return
sfz=input('请输入身份证号:')
   
if t !=18:
print('位数有误,请重新输入!')
else:
if sfz[-1]=='x':
sfz=sfz[:-1]+"X"
if    :
print('合法身份证号')
else:
print('非法身份证号')
(3)实现上述功能的代码如下,但加框处代码有错,请改正。
【答案】(1)X
(2)range(0,17);t=len(sfz);check(sfz)==sfz[-1]
(3)s2[k%11]
【知识点】分支结构语句及程序实现;循环结构语句及程序实现
【解析】【解答】(1)如果身份证的前17位是34052419800101001,校验码字符值计算如下:则该身份证的校验位是:
189 Mod 11=2,查表得出校验码字符值a1为X。
(2)第一空:此处是将身份证号码1~17位分别与加权因子相乘后并求和,赋给变量k,range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop,故此处填range(0,17)。
第二空:此处判断身份证sfz的长度是否为18位,通过len函数可以求得字符串sfz的长度,用变量t保存,故填t=len(sfz)。
第三空:check(s)函数用来计算身份证s的校验码,判断身份证sfz最后一位与计算得到的校验码是否相等,故填check(sfz)==sfz[-1]。
(3)变量s2保存校验码与余数对照表,余数是k%11,根据余数从变量s2中取出对应的校验码,故代码改为:s2[k%11]。
【分析】本题考查的是Python程序的综合运用。
1 / 1浙江省温州市平阳县佳诚高中2021-2022学年高二上学期信息技术第一次月考试卷
一、选择题
1.(2021高二上·平阳月考)下列关于数据与信息的说法,不正确的是(  )
A.数据是对客观事物的符号表示
B.信息是用来消除随机不确定性的东西
C.数据的表现形式很多
D.信息具有时效性,过期的信息就会消失
2.(2021高二上·平阳月考)使用UltraEdit软件观察字符串“3-2=1”的内容,如图所示:
则字符串“6+8>10”的内码是(  )
A.36 2B 38 3D 40
B.36 2B 38 3E 31 30
C.36 2B 38 3E 3A
D.36 2B 38 3D 31 30
3.(2021高二上·平阳月考)二进制数101001100转换成十六进制数是(  )
A.14C B.D6 C.13B D.24B
4.(2021高二上·平阳月考)某算法的部分流程图如图所示,执行该流程后,“m-1”被执行的次数为(  )
A.3 B.4 C.5 D.6
5.(2021高二上·平阳月考)下列选项中变量和数据结构不正确的是(  )
A._B4
B.list
C.创建字典: m={“李华”, “高三”, “98”}
D.“hello ”*3的值为“hello hello hello ”
6.(2021高二上·平阳月考)表达式22//4+13%5**2的结果为(  )
A.24 B.56 C.25 D.18
7.(2021高二上·平阳月考)x是整型变量,下列选项中,与表达式not x<=1 and not x>6等价的是(  )
①not(x<=1 and x>6) ②not(x<=1 or x>6)
③x>1 and x<=6 ④x>1 or x<=6
A.①③ B.①④ C.②③ D.②④
8.(2021高二上·平阳月考)十六进制数值 10~15分别用大写字母A~F来表示,如果变量 s 表示大写字母A~F中的任意一个字母,能将变量s转换成对应数值的正确表达式是(  )
A.ord(s)-ord("A")+10 B.ord(s)-ord(A)+10
C.chr(s)-chr("A")+10 D.chr(s)-chr(A)+10
9.(2021高二上·平阳月考)下面的程序,若想运行结果是Best Wishes to you!,则划线处代码可能是(  )
s="Happy National Day!"
m=____
if m=="Happy":
print("Happy to you!")
elif m=="National":
print("Best Wishes to you!")
else:
print("It's a fine Day!")
A.s[6:13] B.s[7:14]
C.s[-6:-14:-1] D.s[-13:-5:1]
10.(2021高二上·平阳月考)下列程序的运行结果是(  )
word=["my","apple","Label","Name","nose","nice"]
n=0
for ch in word:
if ch[1]=="a":
n=n+1
print(ch,end=" ")
print(n)
A. B.
C.apple 1 D.Label Name 2
11.(2021高一下·柯桥期末)有如下python程序段:
a=[4,5,3, 6, 7,8,2, 9, 1]
m,c=1,1
for i in range(1, len(a)):
if a[i]>=a[i-1]:
c+=1
m=max (m, c)
else:
c=1
print(c,m)
则程序执行后,c和m的值分别是(  )
A.1和1 B.1和4 C.2和4 D.3和4
12.(2021高二上·平阳月考)下列程序的运行结果是(  )
s="2h4j5, 94af87"
n=i=0
m=len(s)
num="0123456789"
while i
if s[m-i-1] in num:
n=n*10+int(s[m-i-1])
i=i+1
if n>1000:
break
print(n)
A.245 B.784 C.2459 D.7849
13.(2021高一下·绍兴期中)运行下面的程序,执行完成后,输出的值是(  )
x=4095
s1="ABCDEFGHIJ"
s2="abcdefghij"
ret=""
while x>0:
r=x % 10
if r % 2==1:
ret=s1[r]+ret
else:
ret=ret+s2[r]
x=x//10
print(ret)
A.JFae B.JFea C.eaJF D.EAjf
14.(2021高二上·平阳月考)下列程序运行后,结果可能的是(  )
import random
list1=[]
i=0
while i<=5:
n=random.randint(10,45)
if n%5!=0:
list1.append(n)
i=i+1
m=random.sample(list1,2)
print(m)
A.[35, 14] B.[33, 24]
C.14, 24 D.[23.0, 45.0]
15.(2021高二上·平阳月考)在一次比赛中,需要随机给10名选手各编一个0~9范围内的唯一序号,对应的Python程序段如下:
____
a,b=[0]*10,[False]*10
i=0
while i<=9:
____
if not b[r]:
a[i]=r
____
i=i+1
print(a)
则划线处的代码依次是( )
① r=random.randint(0,10)
② b[r]=True
③import random
④ b[i]=True
⑤from random import randint
⑥ r=random.randint(0,9)
A.⑤①② B.⑤⑥④ C.③①④ D.③⑥②
二、非选择题
16.(2021高二上·平阳月考)使用Excel软件对某学校“校园文化节”节目评分进行数据处理,如图所示,回答下列问题:
(1) 各大节目的得分是将“主题内容”、“舞台效果”、“表现演绎”、“总体印象”的成绩分别乘以对应的权重后相加所得。通过 G3 单元格中的公式,对 G4:G20 进行自动填充,则G3单元格中的公式是   。
(2)为了要对比分析图中歌唱类各节目(主题内容、舞台效果、表现演绎、总体印象)的得分情况,请写出一种分析方法:
A.哪些数据是本次分析必需的,写出数据区域   。 B.如何分析这些数据,选用哪种图表类型   。
(3)若要对图中舞蹈类按得分进行降序排序,需选择的排序区域是   。
17.(2021高二上·平阳月考)一个弹球会发出红、绿或蓝三种单色光。 发着光的弹球从高处垂直下落,触地会垂直弹起,且弹起时发光颜色会变化。 假设弹球下落高度为 h, 触地前发红光、绿光、蓝光时,反弹高度分别为0.8h、0.6h、0.5h。 触地若干次后,弹球弹起时不再发光。观察弹球的发光颜色变化,并用字符串记录,其中每个字符表示弹球一次触地前的发光颜色(字符R、G、B 分别表示红、绿、蓝)。编写一个程序,计算弹球发光状态下的运动轨迹长度。
(1)请根据运行结果,完善下面的代码
h=   
s=input('触地前的发光颜色变化:')
d={'R':0.8,'G':0.6,'B':0.5}
sum=h
for i in range(1,len(s)):
   
h=d[c]*h
sum=   
print('弹球发光状态下的运动轨迹长度:'+str(sum))
(2)请结合题目描述和程序代码判断这是哪种算法   (单选,填字母:A .解析算法/B .枚举算法)
18.(2021高二上·平阳月考)判断身份证校验位是否正确
第一步:将身份证号码的第1位数字与7相乘;将身份证号码的第2位数字与9相乘;将身份证号码的第3位数字与10相乘;将身份证号码的第4位数字与5相乘;将身份证号码的第5位数字与8相乘;将身份证号码的第6位数字与4相乘;将身份证号码的第7位数字与2相乘;将身份证号码的第8位数字与1相乘;将身份证号码的第9位数字与6相乘;将身份证号码的第10位数字与3相乘;将身份证号码的第11位数字与7相乘;将身份证号码的第12位数字与9相乘;将身份证号码的第13位数字与10相乘;将身份证号码的第14位数字与5相乘;将身份证号码的第15位数字与8相乘;将身份证号码的第16位数字与4相乘;将身份证号码的第17位数字与2相乘。
第二步:将第一步身份证号码1~17位相乘的结果求和,全部加起来。
第三步:用第二步计算出来的结果除以11,这样就会出现余数为0,余数为1,余数为2,余数为3,余数为4,余数为5,余数为6,余数为7,余数为8,余数为9,余数为10共11种可能性。
第四步:如果余数为0,那对应的最后一位身份证的号码为1;如果余数为1,那对应的最后一位身份证的号码为0;如果余数为2,那对应的最后一位身份证的号码为X;如果余数为3,那对应的最后一位身份证的号码为9;如果余数为4,那对应的最后一位身份证的号码为8;如果余数为5,那对应的最后一位身份证的号码为7;如果余数为6,那对应的最后一位身份证的号码为6;如果余数为7,那对应的最后一位身份证的号码为5;如果余数为8,那对应的最后一位身份证的号码为4;如果余数为9,那对应的最后一位身份证的号码为3;如果余数为10,那对应的最后一位身份证的号码为2。
余数列表 0 1 2 3 4 5 6 7 8 9 10
校验码对照表 1 0 X 9 8 7 6 5 4 3 2
B2 某男性公民公民身份号码本体码为44052418800101001,其校验码字符值仍可按B1各步骤与方法计算如下:
=28+36+0+ 25+16+16+2+8+48+0+0+9+0+5+0+0+2=195
195÷11=17,即(ai×Wi)(mod 11)为8。
查表2得出校验码字符值ai为4。
该男性公民的公民身份号码为440524188001010014。
(1) 如果身份证的前17位是34052419800101001,则该身份证的校验位是   。
(2)实现上述功能的代码如下,请在划线处填入合适的代码,使程序正常运行。
def check(s):
s1=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]
s2='10X98765432'
k=0
for i in    :
k=k+int(s[i])*s1[i]
return
sfz=input('请输入身份证号:')
   
if t !=18:
print('位数有误,请重新输入!')
else:
if sfz[-1]=='x':
sfz=sfz[:-1]+"X"
if    :
print('合法身份证号')
else:
print('非法身份证号')
(3)实现上述功能的代码如下,但加框处代码有错,请改正。
答案解析部分
1.【答案】D
【知识点】信息及其特征;数据、信息、知识与智慧的关系;数据的形式
2.【答案】B
【知识点】字符编码
3.【答案】A
【知识点】进制及数制转换
4.【答案】C
【知识点】流程图识读
5.【答案】B
【知识点】常量、变量及变量的赋值;基本数据结构
6.【答案】D
【知识点】运算符、基本运算与表达式
【解析】【解答】运算等级**>%。22//4+13%5**2=5+13%25=5+13=18。故答案选D。
【分析】本题考查的是Python表达式的运算。//表示整除,%表示求余,**表示幂乘。
7.【答案】C
【知识点】运算符、基本运算与表达式
【解析】【解答】not x<=1 and not x>6等价于:x>1 and x<=6 或not(x<=1 or x>6)。故答案选C。
【分析】本题考查的是Python逻辑表达式。逻辑运算符运算等级:not>and>or。
8.【答案】A
【知识点】常用标准函数
【解析】【解答】ord(c) 函数返回对应字符c的 ASCII 数值;chr(x)函数是返回整数x对应的 ASCII字符。将变量s转换成对应数值的正确表达式是:ord(s)-ord("A")+10。故答案选A。
【分析】本题考查的是Python函数与表达式。
9.【答案】D
【知识点】常见数据类型、数组;分支结构语句及程序实现
【解析】【解答】start_index:表示起始索引(包含该索引对应值),该参数省略时,表示从对象“端点”开始取值。end_index:表示终止索引(不包含该索引对应值),该参数省略时,表示一直取到数据“端点”。运行结果是Best Wishes to you!,可知变量m="National",s[6:13]="Nationa",s[7:14]="ational",s[-6:-14:-1]="lanoitaN",s[-13:-5:1]="National"。故答案选D。
【分析】本题考查的是Python分支结构字符切片操作。字符串和列表的切片操作:
格式:[start: end: step]。
功能:返回从索引位置start到索引位置end且以step为步数的子序列(不包含索引位置end的元素)。
step:正负数均可,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。
10.【答案】D
【知识点】循环结构语句及程序实现
【解析】【解答】ch[1]=="a"可知,查找word列表中单词第二字母为"a",end=" "表示输出时不换行,n是统计满足条件单词的个数,程序的运行结果是:Label Name 2。故答案选D。
【分析】本题考查的是Python循环语句。字符串和列表的索引:索引正向从0开始递增,反向从-1开始递减。
11.【答案】B
【知识点】循环结构语句及程序实现;基本数据结构
12.【答案】D
【知识点】分支结构语句及程序实现;循环结构语句及程序实现
【解析】【解答】由if s[m-i-1] in num及 n=n*10+int(s[m-i-1])可知,将字符串s中的数字从后往前提取,当提取数字n=7849时,条件n>1000成立,循环终止。故答案选D。
【分析】本题主要考查的是Python字符串操作。字符串和列表的索引:索引正向从0开始递增,反向从-1开始递减。
13.【答案】A
【知识点】运算符、基本运算与表达式;循环结构语句及程序实现
【解析】【解答】程序分析:
第一次循环,x=4095,r=x % 10=5,ret=s1[r]+ret="F",x=x//10=409;
第二次循环,r=x % 10=9,ret=s1[r]+ret="JF",x=x//10=40;
第三次循环,r=x % 10=0,ret=ret+s2[r]="JFa",x=x//10=4;
第四次循环,r=x % 10=4,ret=ret+s2[r]="JFae",x=x//10=0,循环结束,输出ret的值为JFae。
故答案选A。
【分析】本题主要考查的是Python表达式和循环结构程序的运行。//是向下取整除法,%是求模。
14.【答案】B
【知识点】循环结构语句及程序实现
【解析】【解答】while循环中,变量n是随机生成[10,45]之间的整数,当n不是5的倍数时,将其添加到列表list1中,m是随机取list1中的2个数形成新的列表,结合选项可知,结果可能的是[33,24]。故答案选B。
【分析】本题主要考查的是循环结构以及列表的操作。random.randint(a,b)用于生成一个指定范围内的整数,生成的随机数n: a<=n<=b。对于random.sample的用法,多用于截取列表的指定长度的随机数,但是不会改变列表本身的排序。
15.【答案】B
【知识点】循环结构语句及程序实现;常用标准函数
【解析】【解答】第一空:使用随机函数需要首先导入随机函数库,填from random import randint;
第二空:random()方法返回随机生成的一个实数,它在[0,1)范围内。random.randint(a,b)用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b,需要随机给10名选手各编一个0~9范围内的唯一序号,填 r=random.randint(0,9);
第三空:此处确保生成唯一序号,将其标记为True,填b[i]=True。
故答案选B。
【分析】本题主要考查的是循环结构以及函数的应用。
16.【答案】(1)=C3*J$3+D3*J$4+E3*J$5+F3*J$6 或 =C3*$J$3+D3*$J$4+E3*$J$5+F3*$J$6
(2)B2:F8;柱形图或条形图
(3)B17:G20
【知识点】表格数据的处理与计算;数据分析
【解析】【解答】(1)各大节目的得分是将“主题内容”、“舞台效果”、“表现演绎”、“总体印象”的成绩分别乘以对应的权重后相加所得,通过G3单元格中的公式,对G4:G20进行自动填充。故权重单元格必须固定,则G3单元格中的公式是:=C3*J$3+D3*J$4+E3*J$5+F3*J$6 或 =C3*$J$3+D3*$J$4+E3*$J$5+F3*$J$6。
(2)A.歌唱类各节目(主题内容、舞台效果、表现演绎、总体印象)的得分所在范围是:B2:F8。
B.柱形图:反映数据间的多少与大小关系。条形图:显示各个项目之间的比较情况。要对比各节目的得分情况,选柱形图或条形图都可。
(3)排序区域可以不包含标题行,但只能选择一个连续区域,且有合并单元格的数据区域不可进行排序。若要对图中舞蹈类按得分进行降序排序,需选择的排序区域是:B17:G20
【分析】本题主要考查的是表格中公式的应用、数据的排序以及数据分析。
17.【答案】(1)int(input("输入弹球的初始高度:"));c=s[i-1];sum+2*h
(2)B
【知识点】枚举算法及程序实现;循环结构语句及程序实现
【解析】【解答】(1)第一空:程序开始要输入初始高度,故为:int(input("输入弹球的初始高度:"));
第二空:由h=d[c]*h及d={'R':0.8,'G':0.6,'B':0.5}可知上一条语句要从s中取出颜色,字符串索引是从0开始,i是从1开始,故为:c=s[i-1];
第三孔:sum是存放的运动轨迹长度,同一种颜色的弹起和落下的路径相同,故为:sum+2*h。
(2)枚举算法就是按问题本身的性质,列举所有可能的结果,并逐一判断,排除其中不符合要求的结果,这种方法称为枚举算法,也称为“穷举法”。解析法是指用解析的方法找出表示问题的前提条件与结果之间关系的数学表达式。题目程序使用的是枚举法。故答案为:B。
【分析】本题考查的是枚举算法的应用。
18.【答案】(1)X
(2)range(0,17);t=len(sfz);check(sfz)==sfz[-1]
(3)s2[k%11]
【知识点】分支结构语句及程序实现;循环结构语句及程序实现
【解析】【解答】(1)如果身份证的前17位是34052419800101001,校验码字符值计算如下:则该身份证的校验位是:
189 Mod 11=2,查表得出校验码字符值a1为X。
(2)第一空:此处是将身份证号码1~17位分别与加权因子相乘后并求和,赋给变量k,range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop,故此处填range(0,17)。
第二空:此处判断身份证sfz的长度是否为18位,通过len函数可以求得字符串sfz的长度,用变量t保存,故填t=len(sfz)。
第三空:check(s)函数用来计算身份证s的校验码,判断身份证sfz最后一位与计算得到的校验码是否相等,故填check(sfz)==sfz[-1]。
(3)变量s2保存校验码与余数对照表,余数是k%11,根据余数从变量s2中取出对应的校验码,故代码改为:s2[k%11]。
【分析】本题考查的是Python程序的综合运用。
1 / 1

展开更多......

收起↑

资源列表