内容正文:
第2章 程序世界的基本元素 B卷
《Python程序设计》
章节过关卷(解析版)
考试时间:60分钟 满分:100分
班级________ 姓名________ 学号________
一、单选题(本题共20道小题,每题2分,共40分)
1.表达式 18-6*(7//4)**2 的值是 ( )
A. 12
B. 24
C. 6
D. 0
【答案】A
【解析】先算括号内整除 7//4=1,再算乘方 1**2=1,最后 18-6*1=12。
2.表达式 1.2/4+9%3*(45-40) 的值是 ( )
A. 0.3
B. 1.2
C. 0
D. 6.3
【答案】A
【解析】1.2/4=0.3;9%3=0,0*5=0;结果为 0.3。
3.表达式 34%20==3.4%2 的值是 ( )
A. True
B. False
C. 1
D. 0
【答案】B
【解析】34%20=14,3.4%2=1.4,14==1.4 不成立,结果为 False。
4.已知 x=3,y=5,执行 x,y=y,x 之后,变量 x 的值是 ( )
A. 3
B. 5
C. 8
D. 不确定
【答案】B
【解析】x,y=y,x 是交换赋值语句,等价于将 x、y 的值互换,执行后 x 的值为原来的 y 值 5。
5.表达式 3 in {1,2,3,4,5} 的值是 ( )
A. True
B. False
C. 3
D. None
【答案】A
【解析】in 用于判断元素是否在集合中,3 在集合中,结果为 True。
6.半径为2、高为5的圆柱体,用变量 V 存储其体积,正确的赋值表达式是 ( )
A. V=3.14*2**2*5
B. V=3.14*2*5
C. V=3.14*2*2/2*5
D. V=2*3.14*2*5
【答案】A
【解析】圆柱体积 V=πr²h=3.14*2²*5,Python 中平方用 **2 表示。
7.表达式 3*4//2//8%7 的值是 ( )
A. 0
B. 3
C. 6
D. 7
【答案】A
【解析】按优先级先算 3*4=12,12//2=6,6//8=0,0%7=0。
8.下列选项中,错误的表达式是 ( )
A. "2025"+"对口高考"
B. 0.02+9
C. x,y,z=4
D. f=5,6
【答案】C
【解析】x,y,z=4 试图将一个值赋给三个变量,会抛出 ValueError 异常;A、B、D 均合法。
9.下列选项中,执行结果与 [1,2,3,'1','2','3'][-2] 一致的是 ( )
A. [1,2,3][-2]
B. ['1','2','3'][-2]
C. [1,'1',2][-1]
D. ['3','2','1',2][-2]
【答案】B
【解析】[1,2,3,'1','2','3'][-2] 取倒数第二个元素为字符串 '2';B 项 ['1','2','3'][-2] 同样取 '2'。
10.Python 中表示空类型的常量是 ( )
A. None
B. Nothing
C. 0
D. False
【答案】A
【解析】None 是 Python 中表示空值/空类型的特殊常量,0 和 False 属于数值类型。
11.表达式 math.sqrt(abs(-49)%5) 的值是 ( )
A. 5.0
B. 4.0
C. 3.0
D. 2.0
【答案】D
【解析】abs(-49)=49,49%5=4,math.sqrt(4)=2.0。
12.下列选项中,不是 Python 关键字的一项是 ( )
A. del
B. pass
C. not
D. true
【答案】D
【解析】del、pass、not 都是 Python 关键字,true 是普通标识符,不是关键字。
13.下列选项中,能作为 Python 变量名的是 ( )
A. NAME__2
B. NAME#2
C. 2NAME
D. NAME-2
【答案】A
【解析】变量名由字母、数字、下划线组成且不能以数字开头,不能含 #、- 等符号,只有 NAME__2 合法。
14.下列属于小驼峰命名法的变量名是 ( )
A. myStudentCount
B. MyStudentCount
C. mystudentcount
D. My_student_Count
【答案】A
【解析】小驼峰命名法要求首单词首字母小写,其余单词首字母大写,myStudentCount 符合。
15.表达式 1001==0x3e7 的值是 ( )
A. false
B. False
C. ture
D. True
【答案】B
【解析】0x3e7 为十六进制数,等于十进制 999,1001==999 不成立,结果为 False。
16.字典 d={'abc':123,'def':456,'ghi':789},函数 len(d) 的结果是 ( )
A. 9
B. 12
C. 3
D. 6
【答案】C
【解析】len(d) 返回字典中键值对的个数,字典有 3 个键值对,结果为 3。
17.S 和 T 是两个集合,表达式 S&T 表示的是 ( )
A. 并集
B. 差集
C. 补集
D. 交集
【答案】D
【解析】& 运算符用于求两个集合的交集,| 求并集,- 求差集。
18.元组 t=(12,34.5,True,'test',3+5j),输出 ('test',) 的选项是 ( )
A. t[3]
B. t[4]
C. t[3:4]
D. t[4:5]
【答案】C
【解析】t[3] 输出 'test'(字符串),t[3:4] 切片得到一个只含 'test' 的元组 ('test',)。
19.字典 d={1:"a",2:"b"},访问键为1的元素的语句是 ( )
A. d[1]
B. d["0"]
C. d["1"]
D. d[0]
【答案】A
【解析】字典按下标(键)取值,键为整数 1,应写 d[1]。
20.表达式 [1,3,[2,3,4],4][-2][1] 的值是 ( )
A. 2
B. 3
C. 4
D. 1
【答案】B
【解析】外层取倒数第二个元素 [2,3,4],再取其下标1的元素 3。
二、填空题(本题共15道小题,每题2分,共30分)
1.表达式 3 or False and not 5 的值为________
【答案】3
【解析】not 优先级最高,not 5 为 False;and 先于 or 计算,False and False 为 False;3 or False 结果为 3。
2.表达式 int(4**0.5) 的值为________
【答案】2
【解析】4**0.5=2.0,int(2.0)=2。
3.表达式 eval("10/2") 的值为________
【答案】5.0
【解析】eval() 将字符串当作表达式求值,10/2 在 Python 中结果为浮点数 5.0。
4.表达式 round(2.5,2) 的值为________
【答案】2.5
【解析】round(x,n) 表示保留 n 位小数,2.5 保留两位小数仍为 2.5。
5.表达式 tuple(range(2,-5,-2)) 的值为________
【答案】(2, 0, -2, -4)
【解析】range(2,-5,-2) 生成 2、0、-2、-4,tuple() 将其转换为元组。
6.已知 list=[1,[2,3]],将其中元素2改为0的赋值语句是________
【答案】list[1][0]=0
【解析】list[1] 为 [2,3],[0] 取其第一个元素 2,故 list[1][0]=0 可完成修改。
7.a="hello",set(a) 的运行结果是________(写出元素即可)
【答案】{'e', 'h', 'l', 'o'}
【解析】set() 将字符串拆分为字符集合并去重,结果为无序集合 {'e','h','l','o'}。
8.print(1,2,3,sep="+") 语句的运行结果是________
【答案】1+2+3
【解析】sep 参数指定输出多个值之间的分隔符,此处用 "+" 连接。
9.Python 逻辑运算符 not、and、or 中,优先级最高的是________
【答案】not
【解析】逻辑运算优先级从高到低为 not、and、or。
10.表达式 [1,2]*3 的值为________
【答案】[1, 2, 1, 2, 1, 2]
【解析】列表与整数相乘表示重复列表,[1,2]*3 得到 [1,2,1,2,1,2]。
11.语句 print(True-1.0) 的运行结果为________
【答案】0.0
【解析】True 参与数值运算时视为 1,1-1.0=0.0。
12.语句 print("aba">"abc") 的运行结果为________
【答案】False
【解析】字符串按 ASCII 码逐位比较,前两位相同,第三位 a 小于 c,所以 "aba"<"abc",结果为 False。
13.表达式 (9//(3*2)%2) and (3-5) 的值为________
【答案】-2
【解析】9//6=1,1%2=1,3-5=-2;and 运算中 1 为真,结果取后一个值 -2。
14.已知 x=[3,5,7],执行 x[1:]=[2] 之后,x 的值为________
【答案】[3, 2]
【解析】x[1:]=[2] 将下标1及之后的元素整体替换为 [2],得到 [3,2]。
15.表达式 {1,2,3}-{3,4,5} 的值为________
【答案】{1, 2}
【解析】集合相减求差集,{1,2,3} 中减去 {3,4,5} 中的元素 3,剩下 {1,2}。
三、程序设计题(本题共5道小题,每题6分,共30分)
1.编写程序:从键盘输入圆的半径 r,输出该圆的周长和面积(结果保留两位小数)。
【答案】
r = float(input("请输入圆的半径:"))
zc = 2 * 3.14 * r
mj= 3.14 * r ** 2
print("圆的周长为:%.2f" % zc)
print("圆的面积为:%.2f" % mj)
【解析】考查变量、算术运算与格式化输出。半径可能为小数用 float() 转换;周长=2πr,面积=πr²;保留两位小数可用 %.2f 格式化输出。
2.编写程序:输入三角形的三条边,判断这三条边能否构成三角形,若能则输出"此三边能构成三角形!",否则输出"此三边不能构成三角形!"。
【答案】
a = float(input("请输入第一条边:"))
b = float(input("请输入第二条边:"))
c = float(input("请输入第三条边:"))
if a + b > c and a + c > b and b + c > a:
print("此三边能构成三角形!")
else:
print("此三边不能构成三角形!")
【解析】三角形任意两边之和大于第三边,需同时满足三组关系,用 and 连接三个条件判断。
3.已知字符串 st="123456789",编程将其重新组合为"567891234"并输出。
【答案】
st = "123456789"
st = st[4:] + st[:4]
print(st)
【解析】考查字符串切片。st[4:] 取后5个字符"56789",st[:4] 取前4个字符"1234",拼接后得到"567891234"。
4.编写程序:从键盘输入18位身份证号,输出持证人的出生日期(年、月、日)和性别(第17位数字为奇数则为"男",为偶数则为"女")。
【答案】
id_no = input("请输入18位身份证号:")
birth = id_no[6:14]
print("出生日期:%s年%s月%s日" % (birth[0:4], birth[4:6], birth[6:8]))
gender_digit = int(id_no[16])
if gender_digit % 2 == 1:
print("性别:男")
else:
print("性别:女")
【解析】身份证第7~14位为出生日期,第17位表示性别。用字符串切片取出相应片段,再用取余运算判断奇偶。
5.编写程序:在屏幕上输出如下由"*"组成的图形(共5行)。
*
***
*****
*******
*********
【答案】
for i in range(1, 6):
print(" " * (5 - i) + "*" * (2 * i - 1))
【解析】第 i 行前面有 (5-i) 个空格,星号个数为 (2i-1) 个,利用字符串与整数相乘实现重复输出。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
第2章 程序世界的基本元素 B卷
《Python程序设计》
章节过关卷(原卷版)
考试时间:60分钟 满分:100分
班级________ 姓名________ 学号________
一、单选题(本题共20道小题,每题2分,共40分)
1.表达式 18-6*(7//4)**2 的值是 ( )
A. 12
B. 24
C. 6
D. 0
2.表达式 1.2/4+9%3*(45-40) 的值是 ( )
A. 0.3
B. 1.2
C. 0
D. 6.3
3.表达式 34%20==3.4%2 的值是 ( )
A. True
B. False
C. 1
D. 0
4.已知 x=3,y=5,执行 x,y=y,x 之后,变量 x 的值是 ( )
A. 3
B. 5
C. 8
D. 不确定
5.表达式 3 in {1,2,3,4,5} 的值是 ( )
A. True
B. False
C. 3
D. None
6.半径为2、高为5的圆柱体,用变量 V 存储其体积,正确的赋值表达式是 ( )
A. V=3.14*2**2*5
B. V=3.14*2*5
C. V=3.14*2*2/2*5
D. V=2*3.14*2*5
7.表达式 3*4//2//8%7 的值是 ( )
A. 0
B. 3
C. 6
D. 7
8.下列选项中,错误的表达式是 ( )
A. "2025"+"对口高考"
B. 0.02+9
C. x,y,z=4
D. f=5,6
9.下列选项中,执行结果与 [1,2,3,'1','2','3'][-2] 一致的是 ( )
A. [1,2,3][-2]
B. ['1','2','3'][-2]
C. [1,'1',2][-1]
D. ['3','2','1'][-2]
10.Python 中表示空类型的常量是 ( )
A. None
B. Nothing
C. 0
D. False
11.表达式 math.sqrt(abs(-49)%5) 的值是 ( )
A. 5.0
B. 4.0
C. 3.0
D. 2.0
12.下列选项中,不是 Python 关键字的一项是 ( )
A. del
B. pass
C. not
D. true
13.下列选项中,能作为 Python 变量名的是 ( )
A. NAME__2
B. NAME#2
C. 2NAME
D. NAME-2
14.下列属于小驼峰命名法的变量名是 ( )
A. myStudentCount
B. MyStudentCount
C. mystudentcount
D. My_student_Count
15.表达式 1001==0x3e7 的值是 ( )
A. false
B. False
C. ture
D. True
16.字典 d={'abc':123,'def':456,'ghi':789},函数 len(d) 的结果是 ( )
A. 9
B. 12
C. 3
D. 6
17.S 和 T 是两个集合,表达式 S&T 表示的是 ( )
A. 并集
B. 差集
C. 补集
D. 交集
18.元组 t=(12,34.5,True,'test',3+5j),输出 ('test',) 的选项是 ( )
A. t[3]
B. t[4]
C. t[3:4]
D. t[4:5]
19.字典 d={1:"a",2:"b"},访问键为1的元素的语句是 ( )
A. d[1]
B. d["0"]
C. d["1"]
D. d[0]
20.表达式 [1,3,[2,3,4],4][-2][1] 的值是 ( )
A. 2
B. 3
C. 4
D. 1
二、填空题(本题共15道小题,每题2分,共30分)
1.表达式 3 or False and not 5 的值为________
2.表达式 int(4**0.5) 的值为________
3.表达式 eval("10/2") 的值为________
4.表达式 round(2.5,2) 的值为________
5.表达式 tuple(range(2,-5,-2)) 的值为________
6.已知 list=[1,[2,3]],将其中元素2改为0的赋值语句是________
7.a="hello",set(a) 的运行结果是________(写出元素即可)
8.print(1,2,3,sep="+") 语句的运行结果是________
9.Python 逻辑运算符 not、and、or 中,优先级最高的是________
10.表达式 [1,2]*3 的值为________
11.语句 print(True-1.0) 的运行结果为________
12.语句 print("aba">"abc") 的运行结果为________
13.表达式 (9//(3*2)%2) and (3-5) 的值为________
14.已知 x=[3,5,7],执行 x[1:]=[2] 之后,x 的值为________
15.表达式 {1,2,3}-{3,4,5} 的值为________
三、程序设计题(本题共5道小题,每题6分,共30分)
1.编写程序:从键盘输入圆的半径 r,输出该圆的周长和面积(结果保留两位小数)。
2.编写程序:输入三角形的三条边,判断这三条边能否构成三角形,若能则输出"此三边能构成三角形!",否则输出"此三边不能构成三角形!"。
3.已知字符串 st="123456789",编程将其重新组合为"567891234"并输出。
4.编写程序:从键盘输入18位身份证号,输出持证人的出生日期(年、月、日)和性别(第17位数字为奇数则为"男",为偶数则为"女")。
5.编写程序:在屏幕上输出如下由"*"组成的图形(共5行)。
*
***
*****
*******
*********
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$