2.在Python中,用变量code存储学生的借书卡编码,例如:
code=“NO.2020100502”,则变量code的数据类型应定义为()
A.布尔型B.整型C.字符串型D.浮点型
3.小林同学想要利用Python来编写一道程序,解决“1+2+3+……+100”这个问题,那么小林同学在编写程序的过程中可能会用到哪些语句()
A.赋值语句
B.循环语句
C.条件语句
D.输出语句
4.下面哪个不是Python合法的标识符()
A.int_3B.30XLC.selfD._abc
5.下列Python程序段
a=0
b=4
ifb>a:
a=3*b
else:
a=10
程序运行后,a的值是()
A.10B.0C.12D.4
6.计算机能够直接识别和执行的语言是()
A.机器语言
B.汇编语言
C.Python语言
D.C语言
7.在Python中,“print(100-33*5%3)”语句输出的是()
A.34B.67C.100D.1
8.Python表达式中,可以使用()控制运算的优先顺序。
A.圆括号()B.方括号[]C.大括号{}D.尖括号<>
9.关于python程序设计语言,下列说法错误的是()
A.python是一种面向对象的编程语言B.python代码只能在交互环境中运行
C.python具有丰富和强大的库D.python是一种解释型的计算机程序设计高级语言
10.在Python中,表达式(21%4)+3的值是()
A.2B.4C.6D.8
11.以下()是python文件
A.*.mp3B.*.xlsC.*.pptD.*py
12.12Python语言语句块的标记是()
A.分号B.逗号C.缩进D./
13.下列变量名在Python中合法的是()
A.36BB.F55#C.forD._Good
14.在Python中,表达式2**3的结果是()
A.5B.8C.6D.3
15.在Python中,正确的赋值语句是()
A.x+y=10B.x=2yC.x=y=50D.3y=x+1
二、程序填空
16.小明用Python语言写了一个货币兑换程序如下:
(1)参数currency指:
____________。
(2)该程序用了哪一种算法结构:
_____________。
(3)输出结果为“50$=325.25人民币”。
则代码应该如何编写:
____________。
17.某仓库物品代码格式为“X-XXXXXXX-Y”,其中“X”和“Y”均为0到9之间的数字,“Y”为校验码。
校验码由前面9个X计算得到,计算方法为:
从左边开始,第1个数字乘以1加上第2个数字乘以2……依次类推,直到加上第9个数字乘以9,将该结果除以10,所得余数即为校验码。
用Python设计一个程序,输入物品代码,判断输入的代码中校验码是否正确,如果正确输出“正确”,否则输出“错误"。
运行样例如下所示:
样例1:
输入:
2-163-91475-4
输出:
正确
样例2:
输入:
2-163-91475-5
输出:
错误
(1)Python程序实现如下,请在划线处填入正确的代码:
s=input("输入物品代码:
")
a=[]
foriinrange(0,13):
if___
a.append(int(s[i]))#append()函数用于在列表末尾添加新的对象
sum=0
foriinrange(0,9):
____
sdm=sum%10
___
ifsdm==ydm:
print("正确")
else:
print("错误")
18.某市普通高中选课数据如图1所示,学生从地理、化学、生物等科目中选择三门作为高考选考科目,“1”表示已选择的选考科目。
使用Python编程分析每所学校各科目选考的总人数、全市各科选考总人数及其占比,经过程序处理后,保存结果如图2
图1
图2
实现上述功能的Python程序如下:
importpandasaspd
importitertools
#读数据到pandas的DataFrame结构中
df=________(”xk73.csv”,sep=‘.’,header=‘infer’,encoding=‘utf-8’)
km=[‘物理’,‘化学’,‘生物’,‘政治’,‘历史’,‘地理’,‘技术’]
#按学校分组计数
sc=df.groupby(‘___________’,as_index=False).count()
#对分组计数结果进行合计,合计结果转换为DF结构并转置为行
df_sum=pd.DataFrame(data=sc.sum()).T
df_sum[‘学校代码’]=‘合计’
#增加"合计"行
result=sc.append(df_sum)
#百分比计算
df_percent=df_sum
df_percent[‘学校代码’]=‘比例’
forkinkm:
per=df_percent.at[0,k]/zrs
df_percent[k]=per
#增加"百分比"行
result=result.append(df_percent)
#删除"姓名"列
result=______________
#修改"学生编号"为"总人数"
result=result.rename(columns={‘学生编号’:
‘总人数’})
#保存结果,创建Excel文件.生成的Excel文件
result.to_excel("学校人数统计.xlsx")
(1)请在划线处填入合适的代码:
(2)加框处语句的作用是__________________
19.完善代码并保存。
实现功能:
从键盘输入10个学生的测试成绩,输出最高分和最低分。
cj=[]
foriinrange(0,________):
x=float(input("请输入一个数"))
cj.append(________)
print(max(cj),min(________))
input("运行完毕,请按回车键退出...")
20.程序设计:
唐三藏又被妖怪抓走了,这次孙悟空还是没打得过妖怪,于是来求观音菩萨。
观音菩萨告诉孙悟空,在天庭里身高正好为1000米的那位神仙可以降伏此妖。
于是悟空立刻来到天上,在玉皇大帝的神仙册上看到了按身高从矮到高排列有10000个神仙。
由于时间紧迫,悟空想用最短的时间找到这位神仙,这样才可以尽快解救唐僧。
代码如下:
List=list(map(int,input(“请按身高递增顺序依次输入10000个神仙的身高”).split()))
left=1
right=10000
while①
mid=②
ifList[mid]==1000:
③
elifList[mid]<1000:
④
else:
⑤
print(“能帮孙悟空的神仙在第{0}位上”.format(mid+l))
(1)程序代码中①处正确的代码是(_______)。
A.left<rightB.left<=rightC.left!
=rightD.left>right
(2)程序代码中②处正确的代码是(_______)。
A.(left+right)/2B.(left+right)\2
C.(left+right)//2D.(left+right)\\2
(3)程序代码中③处正确的代码是(_______)。
A.passB.print(mid)zC.breakD.continue
(4)程序代码中④处正确的代码是(_______)。
-
A.left=midB.right=midC.left=mid+1D.right=mid-1
(5)程序代码中⑤处正确的代码是(_______)。
A.left=midB.right=midC.left=mid+1D.right=mid-1
21.分析完善程序
[背景知识]为了保障空气质量,减少雾霾,某市决定当空气污染严重时,实行汽车单双号限行,违反规定的车辆将予以处罚。
如何让高清摄像头自动判断车牌的单双号,交警犯了愁,他需要编程高手的你帮忙,完善下面的程序。
(提示:
①所有车牌号中都含有数字,并且车牌号的长度都是6;②以车牌中最后一位阿拉伯数字的奇、偶来决定单双号。
)如:
请根据上述算法描述补全代码
s=input("车牌号s=")
n=6
x=s[n-1:
n]
whilex.isdigit()==False:
①
x=s[n-1:
n]
if②==0:
print(“双号”)
else:
print(“单号”)
(提示:
s[n:
m]的功能:
从字符串s的
下标为n的元素开始,截取到下标为m-1的元素。
例如:
s="12345",s[2:
4]="34"。
s.isdigit):
判断是否为数字。
)
(1)根据题意,程序中空白①处应填写:
______
(2)根据题意,程序中空白②处应填写:
______(填:
A/B/C/D)。
A.int(x)/2==0B.int(x)%2==0C.int(x)%2=0D.int(x)%2!
=0
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.C
【详解】
本题考查Python程序调试
a
故本题选C选项
解析:
C
【详解】
本题考查Python程序调试
a
故本题选C选项
2.C
【详解】
本题考查的是数据类型。
布尔型数据只有两种状态,整型不带有小数点,字符串型含有数字、字母等数据,浮点型带有小数点。
NO.2020100502有数字有字母等,故应定义为字符串型。
选项C正确
解析:
C
【详解】
本题考查的是数据类型。
布尔型数据只有两种状态,整型不带有小数点,字符串型含有数字、字母等数据,浮点型带有小数点。
NO.2020100502有数字有字母等,故应定义为字符串型。
选项C正确。
3.ABD
【详解】
本题考查Python语句。
初始值会涉及到赋值语句、从1加到100会用到循环语句、最后会输出结果用到输出语句。
故本题选ABD
解析:
ABD
【详解】
本题考查Python语句。
初始值会涉及到赋值语句、从1加到100会用到循环语句、最后会输出结果用到输出语句。
故本题选ABD
4.B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故30XL不是Python合法的标识符,故本题选B选项。
解析:
B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故30XL不是Python合法的标识符,故本题选B选项。
5.C
【详解】
本题主要考查Python程序的执行。
a=0,b=4,满足b>a,执行a=3*b=12,故程序运行后,a的值是12,故本题选C选项。
解析:
C
【详解】
本题主要考查Python程序的执行。
a=0,b=4,满足b>a,执行a=3*b=12,故程序运行后,a的值是12,故本题选C选项。
6.A
【详解】
本题主要考查程序设计语言。
计算机能够直接识别和执行的语言是机器语言,即0和1,故本题选A选项。
解析:
A
【详解】
本题主要考查程序设计语言。
计算机能够直接识别和执行的语言是机器语言,即0和1,故本题选A选项。
7.C
【详解】
本题主要考查Python表达式的计算。
“*”是乘法运算,“%”是取余运算,“*”、“%”优先级一样,按从左到右计算,故100-33*5%3=100-165%3=100-0=100,故“
解析:
C
【详解】
本题主要考查Python表达式的计算。
“*”是乘法运算,“%”是取余运算,“*”、“%”优先级一样,按从左到右计算,故100-33*5%3=100-165%3=100-0=100,故“print(100-33*5%3)”语句输出的是100,故本题选C选项。
8.A
【详解】
本题考查Python运算顺序相关的知识点
Python表达式中,可以使用圆括号()控制运算的优先顺序。
故本题选A选项
解析:
A
【详解】
本题考查Python运算顺序相关的知识点
Python表达式中,可以使用圆括号()控制运算的优先顺序。
故本题选A选项
9.B
【详解】
本题主要考查Python程序设计语言。
python是一种面向对象的编程语言,python代码可以在交互环境中运行,python具有丰富和强大的库,python是一种解释型的计算机程序设
解析:
B
【详解】
本题主要考查Python程序设计语言。
python是一种面向对象的编程语言,python代码可以在交互环境中运行,python具有丰富和强大的库,python是一种解释型的计算机程序设计高级语言,故本题选B选项。
10.B
【详解】
本题考查的是Python表达式。
%是求余,故(21%4)+3=1+3=4,选项B正确。
解析:
B
【详解】
本题考查的是Python表达式。
%是求余,故(21%4)+3=1+3=4,选项B正确。
11.D
【详解】
本题考查的是文件类型相关知识。
Mp3是音频文件,xls是Excel文件,ppt演示文稿文件,py是python文件,故选项D正确。
解析:
D
【详解】
本题考查的是文件类型相关知识。
Mp3是音频文件,xls是Excel文件,ppt演示文稿文件,py是python文件,故选项D正确。
12.C
【详解】
本题考查的是Python语言相关知识。
Python语言中用缩进来标记语句块,故选项C正确。
解析:
C
【详解】
本题考查的是Python语言相关知识。
Python语言中用缩进来标记语句块,故选项C正确。
13.D
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字,故“_Good”在Python中是合法的变量名,故本题选D选项。
解析:
D
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字,故“_Good”在Python中是合法的变量名,故本题选D选项。
14.B
【详解】
本题主要考查Python基本运算符。
“**”是幂运算,x**y为返回x的y次幂,因此B选项正确。
【点睛】
解析:
B
【详解】
本题主要考查Python基本运算符。
“**”是幂运算,x**y为返回x的y次幂,因此B选项正确。
【点睛】
15.C
【详解】
本题主要考查Python赋值语句。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
赋值语句是将等号右边的表达式赋给左边的变量,x=y=50等价于x=50,y=
解析:
C
【详解】
本题主要考查Python赋值语句。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
赋值语句是将等号右边的表达式赋给左边的变量,x=y=50等价于x=50,y=50,故正确的赋值语句是x=y=50,故本题选C选项。
二、程序填空
16.形参分支结构(选择结构)if条件中的return语句改为returnprint(money,"$=",money*6.505,"人民币"),其他elif语句类似
【详解】
本题主要考查Python程序执行与调试。
①分析代码可知,参数currency指:
形参。
②由代码可知,该程序用了条件分支结构。
③若输出结果是50$=325.25人民币,则需将if条件中的return语句改为returnprint(money,"$=",money*6.505,"人民币"),其他elif语句类似。
17."0"<=s[i]<="9"或s[i]in"0123456789”sum=sum+a[i]*(i+1)ydm=a[9]
【详解】
本题主要考查Python程序执行与调试。
①变量s保存商品仓库物品代码,若s[i]是数字则进入循环判断,否则跳过,故此处判断条件是"0"<=s[i]<="9"或s[i]in"0123456789”。
②校验码由前面9个X计算得到,计算方法为:
从左边开始,第1个数字乘以1加上第2个数字乘以2……依次类推,直到加上第9个数字乘以9,用变量sum统计,故此处填sum=sum+a[i]*(i+1)。
③变量sdm是计算得到的校验码,变量ydm是输入的校验码,此处需要将校验码a[9]赋给变量ydm,故填ydm=a[9]。
18.pd.read_csv学校代码result.drop(‘姓名’,axis=1)将总人数存储到变量zrs中
【详解】
本题主要考查Python程序的执行与调试。
①将csv文件读入并转化为数据框形式,故填pd.read_csv。
②groupby函数主要的作用是进行数据的分组,此处按学校分组计数,故填学校代码。
③此处删除"姓名"列,可以使用drop()函数来删除,故填result.drop(‘姓名’,axis=1)。
④zrs=len(df.index),该语句是统计df内有多少个元素,即将总人数存储到变量zrs中。
19.xcj
【详解】
本题主要考查Python程序执行与调试。
①从键盘输入10个学生的测试成绩,range(a,b)的范围是从a~b,但不包括b,故第一空填10。
②每输入一个数x,将其通过append函数加到列表cj中,故第二空填x。
③求最大值用max函数,求最小值用min函数,故第三空填cj。
20.BCCCD
【详解】
本题主要考查二分查找算法及Python程序实现。
①二分查找的循环条件是left<=right,故选B选项。
②此处是取中间值,需要整除2,故填(left+right)//2 ,故选C选项。
③如果mid对应的列表值是1000,表示已找到,则用break跳出循环,选C选项。
④如果mid对应的列表值小于1000,则需要更新left的值为mid+1继续循环,选C选项。
⑤否则更新right的值为mid-1,选D选项。
21.n=n-1或n-=1B
【详解】
本题主要考查算法及Python程序设计。
①此处是判断x是否为数字,若不是数字,则n递减取前一位字符继续进行判断,故此处填n=n-1或n-=1。
②当while循环结束,表明此时x为数字,若int(x)%2==0,即x为偶数,输出“双号”,否则输出单号,故选B选项。