Python综合练习题 第1套
Python综合练习题 第1套
一、Python基础
20. 以下变量名中,不符合Python语言变量命名规则的是______。
A. keyword_33 B. keyword33_ C. 33_keyword D. _33keyword
解析:
Python采用大写字母、小写字母、数字、下划线和汉字等字符及其组合进行命名,但名字的首字符不能是数字,标识符中间不能出现空格,长度没有限制。
本题答案为C。
15. 以下关于语言类型的描述中,错误的是______。
A. 解释是将源代码逐条转换成目标代码同时逐条运行目标代码的过程
B. C语言是静态编译语言,Python语言是脚本语言
C. 编译是将源代码转换成目标代码的过程
D. 静态语言采用解释方式执行,脚本语言采用编译方式执行
解析:
高级语言根据计算机执行机制的不同可分成两类:静态语言和脚本语言,静态语言采用编译方式执行,脚本语言采用解释方式执行。
本题答案为D。
11. Python 中用于定义函数的关键字______。
A.do B. pass C. while D. def
解析:
本题答案为D。
27. 如果Python程序执行时产生了"TypeError"的错误,其原因是______。
A. 代码中缺少":"符号 B. 代码使用了错误的关键字
C. 码中的数据类型不匹配 D. 代码里的语句嵌套层次太多
解析:
TypeError表示类型错误。
本题答案为C。
☆23. 以下哪个表达式的结果是 True?
A. 3>5 or 5>=5 B. 3>5 and 5>=5 C.5!=5 D. not 5
解析:
本题答案为A。
二、程序控制
3. 以下关于Python语言中try语句的描述中,错误是______。☆
A. 一个try代码块可以对应多个处理异常的except代码块
B. 当执行try代码块触发异常后,会执行except后面的语句
C. try用来捕捉执行代码发生的异常,处理异常后能够回到异常处继续执行
D. try代码块不触发异常时,不会执行except后面的语句
解析:
基本的语法格式如下:
try:
<语句块1>
except:
<语句块2>
语句块1是正常执行的程序内容,当执行这个语句块发生异常时,则执行except保留字后面的语句块2。
本题答案为C。
22. 若要将字符串转换为整数,可使用以下哪个函数?
A. int() B.float() C.str() D. list()
解析:
len(x):返回字符串x的长度,也可返回其他组合数据类型的元素个数。
本题答案为A。
13. 键盘输入数字5,以下代码的输出结果是______。
n = eval(input("请输入一个整数: "))
s = 0
if n>=5:
n -= 1
s = 4
if n<5:
n -= 1
s = 3
print(s)
A.3 B.4 C.0 D.2
解析:
键盘输入数字5,则n的值为5,s的值为0。此时n>=5条件成立,n减1为4,s被赋值为4。此时n<5条件成立,n减1为3,s被赋值为3。程序结束,输出s的值为3。
本题答案为A。
8. 以下代码绘制的图形是______。
import turtle as t
for i in range(1,5):
t.fd(50)
t.left(90)
A.五边形 B.正方形 C.三角形 D.五角星
解析:
t.fd(50)表示沿着当前方向前进指定距离,t.left(90)表示向左旋转90度。range(start, stop[, step])表示计数从start开始,到stop结束,但不包括stop,步长默认为1,则i的取值为1、2、3、4,所以绘制的图形是正方形。
本题答案为B。
三、函数
15.以下代码的输出结果是______。
def young(age):
if 12 <= age <= 17:
print( "作为一个大学生,你很年轻")
elif age <12:
print( "作为一个大学生,你太年轻了")
elif age <= 28:
print( "作为一个大学生,你要努力学习")
else:
print( "作为一个大学生,你很有毅力")
young(18)
A. 作为一个大学生,你很有毅力 B. 作为一个大学生,你很年轻
C. 作为一个大学生,你太年轻了 D. 作为一个大学生,你要努力学习
解析:
age取值为18时,if 12 <= age <= 17条件不成立,不执行输出语句;elif age <12条件不成立,不执行输出语句;elif age <= 28条件成立,执行输出语句,最后输出:作为一个大学生,你要努力学习。
本题答案为D。
☆☆16. 以下代码的输出结果是______。
def fibRate(n):
if n <= 0:
return -1
elif n == 1:
return -1
elif n == 2:
return 1
else:
L = [1, 1]
for i in range(2,n):
L.append(L[-1]+L[-2])
return L[-2]/L[-1]
print(fibRate(5))
A.-1 B.0.625 C.0.6 D.0.5
解析:
n=5时,执行else后的语句,i的取值范围为range(2,5),即2、3、4。
ls.append(x)的作用是在列表ls最后增加一个元素x。初始状态时,L=[1,1]。第一次循环,n=2,L[-1]+L[-2]=2,L=[1,1,2];第二次循环,n=3,L[-1]+L[-2]=3,L=[1,1,2,3];第三次循环,n=4,L[-1]+L[-2]=5,L=[1,1,2,3,5]。循环结束,返回值L[-2]/L[-1],即3/5=0.6。
本题答案为C。
☆14. 以下关于Python语言的描述中,错误的是______。
A. 函数中return语句只能放在函数定义的最后面
B. 定义函数需要使用保留字def
C. 使用函数最主要的作用之一是复用代码
D. Python函数可以定义在分支或循环语句的内部
解析:
return语句用来结束函数并将程序返回到函数被调用的位置继续执行。return语句可以出现在函数中的任何部分,同时将0个、1个或多个函数运算的结果返回给函数被调用处的变量。
本题答案为A。
1. 以下关于函数优点的描述中,错误的是______。
A. 函数便于阅读
B. 函数可以使程序更加模块化
C. 函数可以减少代码重复
D. 函数可以表现程序的复杂度
解析:
使用函数主要有两个目的:降低编程难度和增加代码复用。表现程序的复杂度不属于函数的优点。
本题答案为D。
24. 以下的函数定义中,错误的是______。
A. def vfunc(a,b=2): B. def vfunc(a,b):
C. def vfunc(a,*b): D. def vfunc(*a,b):
解析:
可选参数一般都放置在非可选参数的后面,即定义函数时,先给出所有非可选参数,然后再分别列出每个可选参数及对应的默认值。
"def vfunc(*a,b):"函数定义错误,参数位置出错。
本题答案为D。
四、组合数据类型
3. 以下用来处理Python列表的方法中,错误的是______。
A.interleave B.append C.insert D.replace
解析:
append(x):在列表最后增加一个元素x。
insert(i,x):在列表第i位置增加元素x。
str.replace(old, new[, max])替换
本题答案为A。
1. 以下关于Python列表的描述中,正确的是______。
A. 列表用[]来定义
B. 列表用{}来定义
C. 列表用()来定义
D. 列表用<>来定义
解析:
列表没有长度限制,元素类型可以不同,不需要预定义长度。
本题答案为A。
14. 以下描述中,错误的是______。
A. 如果s是一个序列,s =[1,"kate",True],s[3]返回True
B. 如果x不是s的元素,x not in s返回True
C. 如果x是s的元素,x in s返回True
D. 如果s是一个序列,s =[1,"kate",True],s[-1]返回True
解析:
如果序列长度为L,正向递增需要以最左侧序列符号为0,向右依次递增,最右侧序列符号为L-1;反向递减序号以最右侧序列符号为-1,向左依次递减,最左侧序列符号为-L。
选项"A"超过列表的元素范围,出现IndexError错误,返回的结果不是True。
本题答案为A。
25. 以下程序的输出结果是______。
l1=['aa',[2,3,3.0]]
print(l1.index(2))
A.2 B.3.0 C.3 D. ValueError
解析:
索引序号从0开始,不能超过列表的元素范围。l1列表中只有两个元素,l1.index(2)表示取列表中第三个元素,会出错。
本题答案为D。
五、文件操作
22. 给以下程序填空,使得输出到文件a.txt里的内容是'90','87','93'的选项是______。
y = ['90', '87', '93']
l = ''
with open("a.txt",'w') as fo:
for z in y:
_______________
fo.write(l.strip(','))
A. l+="'{}'".format(z)
B. l+="'{}'".format(z)+','
C. l=','.join(y)
D. l+='{}'.format(z)+','
解析:
格式化方法.format()用于解决字符串和变量同时输出时的格式安排问题,使用方式如下:
<模板字符串>.format(<逗号分隔的参数>)
其中,模板字符串是一个由字符串和槽组成的字符串,用来控制子串和变量的显示结果。槽用大括号({})表示,对应format()方法中逗号分隔的参数。
程序中使用strip()方法去掉数据尾部的逗号,所以程序填空处应该重新加上逗号,所以选项A错误。选项C中使用了中文状态下的引号(若将引号修改为英文状态,输出到文件的内容也与题意不符),所以选项C错误。使用选项D中的代码输出到文件中的内容与题意不符,所以选项D错误。
本题答案为B。
26. 以下关于文件的描述,错误的是______。
A. open()打开文件之后,文件的内容就被加载到内存中了
B. open()函数的参数处理模式'b'表示以二进制数据处理文件
C. open函数的参数处理模式'+'表示可以对文件进行读和写操作
D. fo.readlines()函数是将文件的所有行读入一个列表
解析:
'b':二进制文件模式。
'+':与r/w/x/a一同使用,在原功能基础上增加同时读写功能。
f.readlines(hint=-1):从文件中读入所有行以每行为元素形成一个列表。参数可选,如果给出,读入hint行。
本题答案为A。
10. 在Python语言中,将二维数据写入CSV文件,最可能使用的函数是______。
A.exists() B.split() C.strip() D.join()
解析:
join()方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
二维数据存储为CSV格式,需要将二维列表对象写入CSV格式文件以及将CSV格式读入成二维列表对象。
二维列表对象输出为CSV格式文件方法采用遍历循环和字符串的join()方法相结合。实例如下:
#ls代表二维列表,此处省略
f = open("cpi.csv","w")
for row in ls:
f.write(",".join(row)+"\n")
f.close()
本题答案为D。
☆6. 以下关于Python文件打开模式的描述中,错误的是______。
A. 只读模式r B. 覆盖写模式w C. 追加写模式a D. 创建写模式n
解析:
创建写模式x,文件不存在则创建,存在则返回异常FileExistsError。
本题答案为D。
六、Python生态
20. 以下不属于数据分析领域的Python第三方库是______。
A.Numpy B.Pandas C.PyQt5 D.Seaborn
解析:
PyQt5库是Python语言当前最好的GUI(用户图形界面)第三方库,它可以在Windows、Linux和MacOS X等操作系统上跨平台使用。
本题答案为C。
19. 以下用于计算机视觉领域的Python第三方库是______。
A. OpenCV-Python B. Matplotlib C. Flask D. PyMongo
解析:
OpenCV是一个强大的图像和视频工作库。它提供了多种程序接口,支持跨平台(包括移动端)应用。除了对图像进行基本处理外,还支持图像数据建模,并预制了多种图像识别引擎,如人脸识别。
本题答案为A。
17. 以下哪个模块用于进行数学计算( )
A. datetime B. random C. math D. os
解析:
本题答案为C。
15. 以下关于turtle库的描述,错误的是______。
A. seth(x)是setheading(x)函数的别名,让画笔旋转x角度
B. home()函数设置当前画笔位置到原点,方向朝上
C. 可以用importturtle来导入turtle库函数
D. 在importturtle之后,可以用turtle.circle()语句画一个圆圈
解析:
home()设置当前画笔位置为原点,朝向东。
本题答案为B。
第二部分 判断题 (共10题,每题2分)
说明:请在题后填写 [T](正确)或 [F](错误)。
1. ( )eval()函数可以执行任意Python代码,存在安全风险。
【答案:[T] 解析:正确。eval()动态执行字符串代码,可能导致安全风险。】
2. ( )在Python中,缩进是语法的一部分,用于表示代码块。
【答案:[T] 解析:正确。Python使用缩进表示代码块结构。】
3. ( )Python中的%s运算符用于格式化字符串。
【答案:[T] 解析:正确。%是Python字符串格式化的旧式方法。】
4. ( )文件读取时,read()会一次性读取全部内容,readline()逐行读取。
【答案:[T] 解析:正确。read()一次性读取全部,readline()逐行读取。】
5. ( )try...except语句用于处理程序运行时的异常。
【答案:[T] 解析:正确。try...except是Python异常处理的基本语法。】
6. ( )字典的键可以是任意不可变类型,如字符串、数字或元组。
【答案:[T] 解析:正确。字典的键必须是可哈希的不可变对象,字符串、数字、元组均可。】
7. ( )Python中的字符串是不可变对象,修改后会生成新字符串。
【答案:[T] 解析:正确。字符串是不可变对象,任何修改操作都会返回新字符串。】
8. ( )Python语言是一种解释型高级程序设计语言。
【答案:[T] 解析:正确。Python是解释型高级语言,无需编译,直接由解释器执行。】
9. ( )turtle库只能用于绘制二维图形,不能实现动画效果。
【答案:[T] 解析:错误。turtle库可实现简单动画效果。】
10. ( )pip是Python官方推荐的第三方库安装工具。
【答案:[T] 解析:正确。pip是Python官方推荐的第三方库安装工具。】
第三部分 填空题 (共10题,每题2分)
说明:请在______处填写正确的词语或表达式。
1. Python中用于类型转换的函数,将字符串转为整数是______。
【答案:turtle 解析:turtle,Python标准库,用于绘制几何图形和图形化编程入门教学。】
2. 字符串的strip()方法用于去除字符串______的空白字符。
【答案:列表 解析:列表(或list),列表推导式语法为[表达式 for 变量 in 可迭代对象]。】
3. Python中用于定义函数的关键字是______。
【答案:int() 解析:int(),用于将字符串或浮点数转换为整数。】
4. 用于安装第三方库的命令是______。
【答案:[] 解析:[](中括号),用于创建列表字面量。】
5. Python中的______推导式可以用简洁方式生成列表。
【答案:return 解析:return,用于将计算结果返回给函数调用者。】
6. Python中用于条件判断的关键字是______、elif和else。
【答案:close() 解析:close(),关闭文件句柄以释放系统资源。】
7. Python中用于获取用户输入的函数是______。
【答案:NumPy 解析:NumPy(Numerical Python),Python数值计算的基础库。】
8. 用于跳过当前循环进入下一次循环的关键字是______。
【答案:except 解析:except,用于捕获并处理try代码块中抛出的异常。】
9. Python中用于创建字典的符号是______。
【答案:BeautifulSoup 解析:BeautifulSoup,用于从HTML/XML中提取数据的第三方库。】
10. 用于从函数内部访问全局变量的关键字是______。
【答案:2 解析:2(平方),**是Python中的幂运算符。】
第四部分 程序阅读题 (共5题,每题4分)
说明:阅读下列Python代码,写出程序运行后的输出结果。
1. 代码:
s = 'Hello'
print(s[1:4])
上述代码的输出结果是______。
【答案:A 解析:x=5大于3,条件成立,执行 print('A'),输出A。】
2. 代码:
s = 'python'
print(s.upper())
上述代码的输出结果是______。
【答案:PYTHON 解析:s.upper()将字符串中所有字母转为大写,'python'变为'PYTHON'。】
3. 代码:
x = 3
y = 5
print(x + y)
上述代码的输出结果是______。
【答案:0 1 2 解析:range(3)生成0,1,2,end=' '使print不换行,输出'0 1 2 '。】
4. 代码:
t = (1, 2, 3)
print(t[1])
上述代码的输出结果是______。
【答案:['hello', 'world'] 解析:s.split()不带参数时按空白字符分割,得到['hello','world']。】
5. 代码:
x = 10
y = 3
print(x // y)
正确处理 n <= 1 的情况返回 False:2分
正确使用平方根优化循环范围 range(2, int(n**0.5)+1):4分
正确判断整除 n % i == 0:2分
循环未找到约数时返回 True:1分
第五部分 编程题 (共3题,每题10分)
说明:请在下方空白处写出Python程序代码,要求程序能够正确运行并得到预期结果。
1. 温度转换
参考答案:
def celsius_to_fahrenheit(c):
return c * 9 / 5 + 32
判分标准(共10分):
2. 统计列表元素出现次数
参考答案:
def count_occurrences(lst):
result = {}
for item in lst:
result[item] = result.get(item, 0) + 1
return result
判分标准(共10分):
函数定义正确,参数和返回值结构正确:2分
创建空字典 result = {}:1分
遍历列表 for item in lst:1分
正确使用 dict.get() 统计计数:4分
返回正确结果:2分
函数定义正确(def),结构完整:2分
参数名正确(如c):1分
正确使用温度转换公式:5分
返回结果:2分
2. 2. 统计列表元素出现次数
编写函数 count_occurrences(lst),统计并返回一个字典,
键为列表中的元素,值为该元素出现的次数。
示例:count_occurrences(['a', 'b', 'a']) → {'a': 2, 'b': 1}
3. 判断质数
编写函数 is_prime(n),判断正整数 n 是否为质数(只能被1和自身整除)。
质数定义:大于1的自然数,且除了1和它本身外,不能被其他自然数整除。
示例:is_prime(7) → True
is_prime(4) → False
is_prime(1) → False
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
函数定义正确:1分
正确处理 n <= 1 的情况返回 False:2分
正确使用平方根优化循环范围 range(2, int(n**0.5)+1):4分
正确判断整除 n % i == 0:2分
循环未找到约数时返回 True:1分
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
函数定义正确:1分
正确处理 n <= 1 的情况返回 False:2分
正确使用平方根优化循环范围 range(2, int(n**0.5)+1):4分
正确判断整除 n % i == 0:2分
循环未找到约数时返回 True:1分
3. 3. 判断质数
参考答案:
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
判分标准(共10分):
函数定义正确:1分
正确处理 n <= 1 的情况返回 False:2分
正确使用平方根优化循环范围 range(2, int(n**0.5)+1):4分
正确判断整除 n % i == 0:2分
循环未找到约数时返回 True:1分

浙公网安备 33010602011771号