2023年Python练习题及答案解析
- 1、在Python3中,运行结果为:
- 2、在Python3中,字符串的变换结果为:
- 3、在Python3中,下列程序运行结果为:
- 4、在Python3中,下列程序结果为:
- 5、a与b定义如下,下列哪个选项是正确的?
- 6、在Python3中,下列程序运行结果为:
- 7、对于下面的python3函数,如果输入的参数n非常大,函数的返回值会趋近于以下哪一个值(选项中的值用Python表达式来表示)()
- 8、以下程序输出为:
- 9、执行以下程序,结果输出为()
- 10、下列程序打印结果为( )
- 11、下列哪个语句在Python中是非法的?
- 12、当使用import导入模块时,按python查找模块的不同顺序可划分为以下几种:
- 13、对于Python类中单下划线_foo、双下划线__foo与__foo__的成员,下列说法正确的是?
- 13、在Python3中,程序运行结果为:
- 14、以下代码输出为:
- 15、在python3中,程序运行结果为:
- 16、在Python3中。下列程序运行结果说明正确的是:
- 17、在Python3中,程序运行结果为:
- 18、下面程序运行结果为:
- 19、列表lis=[1,2,3,4,5,6],其切片lis[-1:1:-1]结果为()
- 20、对于下面的python3函数,如果输入的参数n非常大,函数的返回值会趋近于以下哪一个值(选项中的值用Python表达式来表示)()
- 21、在Python3中,程序运行结果为:
- 22、在Python3中,对于以下程序正确的是:
- 23、执行下列选项的程序,输出结果与其他三个选项不同的是()
- 24、在Python3中关于下列字符串程序运行结果为?
- 25、对列表a = [1,2,3,1,2,4,6]进行去重后,得到列表b,在不考虑列表元素的排列顺序的前提下,下列方法错误的是()
- 26、Python中函数是对象,下列描述正确的有?
- 27、执行下面代码,请问输出结果为()
- 28、下列程序打印结果为( )
- 29、有如下函数定义,执行结果正确的是?
- 30、在Python3中,以下字符串操作结果为:
- 31、下列关于python socket操作叙述正确的是( )
- 32、Python3中,下列对程序描述正确的是:
- 33、在Python3中关于下列字符串程序运行结果为?
- 34、执行以下程序,当用户输入0时,输出结果为()
- 35、在python中,使用open方法打开文件,语法如下:
🏠个人主页:@编程ID
🧑个人简介:大家好,我是编程ID,一个想要与大家共同进步的程序员儿
🧑今年java太卷了,如果各位在准备面试,找工作,刷算法,刷选择题,可以使用我找工作前用的刷题神器哦![面试刷题神器🎁]
💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,望能帮到各位想要找工作或者提高自己的小伙伴儿们,如果有什么需要改进的地方,还请大佬不吝赐教🤞🤞
往期文章》》》》》》
Python知识点整理(完整)
Python知识点整理,图文结合近三万字(史上最全)
Python二级考试知识点(史上最全)
Python二级考试试题汇总(史上最全)
单选题
1、在Python3中,运行结果为:
for i in range(10, 1, -2):
print(i)
A、9,7,5,3,1
B、10,8,6,4,2
C、1,3,5,7,9
D、10,8,6,4,2,1
正确答案:B、官方解析:在Python3中,for循环语句用法为依次遍历序列内容,题目中range(start, end,
step),索引从start开始到end-1结束,step表示在start和end-1之间的步长,当为负数时,表示生成的序列为倒序,则题目中生成的序列为
10,8,6,4,2
单选题
2、在Python3中,字符串的变换结果为:
strs = 'I like python and java'
print(strs.replace('I', 'Your'))
print(strs.replace('a', '*', 2))
A、‘Your like python and java’,‘I like python nd jv*’
B、‘I like python and java’,‘I like python nd jv*’
C、‘Your like python and java’,‘I like python nd jva’
D、‘I like python and java’,‘I like python nd jva’
正确答案:C、官方解析: 在Python3中,string.replace(str1, str2,
num=string.count(str1)),把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num
次。 因此 strs.replace(‘I’, ‘Your’) 的结果为:‘Your like python and
java’;strs.replace(‘a’, ‘*’, 2)的结果为:‘I like python nd
jva’,只会替换字符串中的两个 ‘a’ 字符
单选题
3、在Python3中,下列程序运行结果为:
dicts = {}
dicts[(1, 2)] = ({3, (4, 5)})
print(dicts)
A、报错
B、{(1, 2): {(4, 5), 3}}
C、{(1, 2): [(4, 5), 3]}
D、{(1, 2): [3, 4, 5]}
正确答案:B、官方解析:Python3中,对字典中添加键/值,题目中的字典键为 (1,2),对应的值为 ({3, (4, 5)})
单选题
4、在Python3中,下列程序结果为:
dicts = {'a': 1, 'b': 2, 'c': 3}
print(dicts.pop())
A、{‘c’: 3}
B、报错
C、3
D、(‘c’: 3)
正确答案:B、官方解析:python3中,关于字典的pop方法需要指定删除的key
5、a与b定义如下,下列哪个选项是正确的?
a = ‘123’
b = ‘123’
A、a != B、B、a is B、C、a == 123
D、a + b = 246
正确答案:B(80)
单选题
6、在Python3中,下列程序运行结果为:
lists = [1, 2, 3, 4]
tmp = 0
for i,j in enumerate(lists):
tmp += i * j
print(tmp)
A、20
B、30
C、100
D、NonE、正确答案:A、官方解析:
Python3中,enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中,所以程序中表示返回列表的元素和对应下标乘积的累加求和
单选题
7、对于下面的python3函数,如果输入的参数n非常大,函数的返回值会趋近于以下哪一个值(选项中的值用Python表达式来表示)()
import random
def foo(n):
random.seed()
c1 = 0
c2 = 0
for i in range(n):
x = random.random()
y = random.random()
r1 = x * x + y * y
r2 = (1 - x) * (1 - x) + (1 - y) * (1 - y)
if r1 <= 1 and r2 <= 1:
c1 += 1
else:
c2 += 1
return c1 / c2
A、4 / 3
B、(math.pi - 2) / (4 - math.pi)
C、math.e ** (6 / 21)
D、math.tan(53 / 180 * math.pi)
正确答案:B
单选题
8、以下程序输出为:
info = {'name':'班长', 'id':100, 'sex':'f', 'address':'北京'}
age = info.get('age')
print(age)
age=info.get('age',18)
print(age)
A、None 18
B、None NonE、C、编译错误
D、运行错误
正确答案:A
单选题
9、执行以下程序,结果输出为()
a = [1]
b = 2
c = 1
def fn(lis,obj):
lis.append(b)
obj = obj + 1
return lis,obj
fn(a,c)
print(fn(a,c))
A、([1, 2, 2], 2)
B、([1, 2, 2], 3)
C、([1, 2], 2)
D、([1, 2], 3)
正确答案:A、官方解析:
当参数为可变对象时,传参采用的是引用传递,修改形参将对实参造成影响;当参数为不可变对象时,传参采用的是值传递,修改形参对实参无影响,实参a为可变对象,实参c为不可变对象,因此正确答案为A选项。
单选题
10、下列程序打印结果为( )
nl = [1,2,5,3,5]
nl.append(4)
nl.insert(0,7)
nl.sort()
print nl
A、[1, 2, 3, 4, 5, 5, 7]
B、[0, 1, 2, 3, 4, 5, 5]
C、[1, 2, 3, 4, 5, 7]
D、[7, 5, 4, 3, 2, 1]
正确答案:A
单选题
11、下列哪个语句在Python中是非法的?
A、x = y = z = 1
B、x = (y = z + 1)
C、x, y = y, x
D、x += y
正确答案:B
单选题
3、在python3运行环境下,执行以下选项中的代码,其输出结果不为[2,4,6,8,10]的是()
A、a = [1,2,3,4,5,6,7,8,9,10]
print(a[1::2])
B、a = [1,2,3,4,5,6,7,8,9,10]
lis = []
for i in a:
if i % 2 == 0:
lis.append(i)
print(lis)
C、a = [1,2,3,4,5,6,7,8,9,10]
print(list(filter(lambda x:x % 2 ==0,a)))
D、a = [1,2,3,4,5,6,7,8,9,10]
def is_odd(n):
return n % 2 == 0
print(list(filter(is_odd(),a)))
正确答案:D、官方解析:
D选项会抛出一个缺少位置参数的异常,实际上这里调用的是函数本身,是整个函数体,不需要等待函数执行完成,所以调用时不需要加小括号,正确的调用方式为print(list(filter(is_odd,a)))
单选题
12、当使用import导入模块时,按python查找模块的不同顺序可划分为以下几种:
①环境变量中的PYTHONPATH
②内建模块
③python安装路径
④当前路径,即执行Python脚本文件所在的路径
其中查找顺序正确的一组是()
A、①④②③
B、②①④③
C、②④①③
D、①②③④
正确答案:C、官方解析:
python搜索模块的顺序为:内建模块>当前路径,即执行Python脚本文件所在的路径>环境变量中的PYTHONPATH>python安装路径,故答案为C。
单选题
13、对于Python类中单下划线_foo、双下划线__foo与__foo__的成员,下列说法正确的是?
A、_foo 不能直接用于’from module import *’
B、__foo解析器用_classname__foo来代替这个名字,以区别和其他类相同的命名
C、__foo__代表python里特殊方法专用的标识
D、__foo 可以直接用于’from module import *’
正确答案:ABC
单选题
13、在Python3中,程序运行结果为:
a = 100
b = 14
print(divmod(a, b))
A、(7, 0)
B、(7, 2)
C、[7, 2]
D、NonE、正确答案:B、官方解析:python3中,divmod将除法运算和取余运算结合在一起,结果返回一个tuple(元组)(商和余数)
单选题
14、以下代码输出为:
list1 = {'1':1,'2':2}
list2 = list1
list1['1'] = 5
sum = list1['1'] + list2['1']
print(sum)
A、1
B、2
C、7
D、10
正确答案:D
单选题
15、在python3中,程序运行结果为:
truple = (1, 2, 3)
print(truple*2)
A、(2,4,6)
B、(1, 2, 3, 1, 2, 3)
C、[1, 2, 3, 1, 2, 3]
D、None
正确答案:B、官方解析:在python3中,元组的 “*” 运算也表示元组复制组合,最后会生成一个新的元组:(1, 2, 3, 1, 2,
3)
单选题
16、在Python3中。下列程序运行结果说明正确的是:
strs = 'abcd12efg'
print(strs.upper().title())
A、‘ABCD12EFG’
B、‘Abc12efg’
C、语法错误
D、‘Abcd12Efg’
正确答案:D、官方解析:在Python3中,upper()
表示将字符小写转换为大写,title方法将字符串内每个连续字母的首字母大写,其余小写,数字后面的字母被title当成首字母大写了
单选题
17、在Python3中,程序运行结果为:
lists = [1, 1, 2, 3, 4, 5, 6]
lists.remove(1)
lists.extend([7,8,9])
print(lists)
A、[2,3,4,5,6]
B、[1,2,3,4,5,6,[7,8,9]]
C、[1,2,3,4,5,6,7,8,9]
D、[2,3,4,5,6,7,8,9]
正确答案:C、官方解析: 在Python3中list.remove(obj)移除列表中某个值的第一个匹配项,
list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表),所以 lists.remove(1)
执行之后 lists = [1,2,3,4,5,6],再执行 lists.extend([7,8,9]) 后lists =
[1,2,3,4,5,6,7,8,9]
单选题
18、下面程序运行结果为:
for i in range(5):
i+=1
print("-------")
if i==3:
continuE、 print(i)
A、------- 1 ------- 2 ------- ------- 4 ------- 5
B、------- 1 ------- 2
C、------- 1 ------- 2 ------- 3
D、------- 1 ------- 2 ------- 4 ------- 5
正确答案:A
单选题
19、列表lis=[1,2,3,4,5,6],其切片lis[-1:1:-1]结果为()
A、[6,5]
B、[1,2]
C、[1,2,3,4]
D、[6,5,4,3]
正确答案:D、官方解析:切片[start:stop:step],当step为负值时,表示从右往左,索引start=-1的元素是6,索引stop=1的元素是2,但是不会取到该索引,因此从右往左,间隔为1取到的结果就是D选项。
单选题
20、对于下面的python3函数,如果输入的参数n非常大,函数的返回值会趋近于以下哪一个值(选项中的值用Python表达式来表示)()
import random
def foo(n):
random.seed()
c1 = 0
c2 = 0
for i in range(n):
x = random.random()
y = random.random()
r1 = x * x + y * y
r2 = (1 - x) * (1 - x) + (1 - y) * (1 - y)
if r1 <= 1 and r2 <= 1:
c1 += 1
else:
c2 += 1
return c1 / c2
A、4 / 3
B、(math.pi - 2) / (4 - math.pi)
C、math.e ** (6 / 21)
D、math.tan(53 / 180 * math.pi)
正确答案:B
单选题
单选题
21、在Python3中,程序运行结果为:
lists = [1, 1, 2, 3, 4, 5, 6]
lists.remove(1)
lists.extend([7,8,9])
print(lists)
A、[2,3,4,5,6]
B、[1,2,3,4,5,6,[7,8,9]]
C、[1,2,3,4,5,6,7,8,9]
D、[2,3,4,5,6,7,8,9]
正确答案:C、官方解析: 在Python3中list.remove(obj)移除列表中某个值的第一个匹配项,
list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表),所以 lists.remove(1)
执行之后 lists = [1,2,3,4,5,6],再执行 lists.extend([7,8,9]) 后lists =
[1,2,3,4,5,6,7,8,9]
单选题
22、在Python3中,对于以下程序正确的是:
lists = [1, 2, 3, 4, 5, 6]
print(lists[6:])
A、报错
B、[]
C、[1,2,3,4,5,6]
D、[6]
正确答案:B、官方解析:在Python3中列表的索引是从0开始的,因此 lists 的最后一个元素的索引是5;最终想要输出从索引 6
开始的列表,超出列表的索引范围但是不会报错,会输出空列表
单选题
23、执行下列选项的程序,输出结果与其他三个选项不同的是()
A、
a = [['1']*3 for i in range(3)]
print(a)
B、
b = [['1']]*3
print(b)
C、
c=[]
for i in range(3):
lis = ['1']*3
c.append(lis)
print(c)
D、
d = []
lis = ['1']*3
for i in range(3):
d.append(lis)
print(d)
正确答案:B、官方解析:B选项结果为[[‘1’], [‘1’], [‘1’]],其他选项结果为[[‘1’, ‘1’, ‘1’], [‘1’,
‘1’, ‘1’], [‘1’, ‘1’, ‘1’]]。
单选题
24、在Python3中关于下列字符串程序运行结果为?
str1 = "exam is a example!"
str2 = "exam"
print(str1.find(str2, 7))
A、-1
B、14
C、0
D、10
正确答案:D、官方解析: 在Python3中 strs.find(str, beg=0,
end=len(strs))表示在strs中返回第一次出现str的位置下标,beg表示在strs中的开始索引,默认为0(此题中为7),end结束索引,默认为strs的长度,因此此题的结果为10
单选题
25、对列表a = [1,2,3,1,2,4,6]进行去重后,得到列表b,在不考虑列表元素的排列顺序的前提下,下列方法错误的是()
A、b = list(set(a))
B、b = {}
b = list(b.fromkeys(a))
C、
a.sort()
b = []
i = 0
while i < len(a):
if a[i] not in b:
b.append(a[i])
else:
i += 1
D、
a.sort()
for i in range(len(a)-1):
if a[i] == a[i+1]:
a.remove(a[i])
else:
continue
b = a
正确答案:D、官方解析: D选项错误原因在于for循环的计数次数是不变的,但是随着a重复元素不断的移除,会导致列表出现IndexError。
单选题
26、Python中函数是对象,下列描述正确的有?
A、函数可以赋值给一个变量
B、函数可以作为元素添加到集合对象中
C、函数可以作为参数值传递给其它函数
D、函数可以当做函数的返回值
正确答案:ABCD
单选题
27、执行下面代码,请问输出结果为()
name = “顺顺”
def f1():
print(name)
def f2():
name = “丰丰”
f1()
f1()
f2()
A、顺顺 顺顺
B、丰丰 丰丰
C、顺顺 丰丰
D、丰丰 顺顺
正确答案:A知识点:Python、算法工程师
单选题
28、下列程序打印结果为( )
nl = [1,2,5,3,5]
nl.append(4)
nl.insert(0,7)
nl.sort()
print nl
A、[1, 2, 3, 4, 5, 5, 7]
B、[0, 1, 2, 3, 4, 5, 5]
C、[1, 2, 3, 4, 5, 7]
D、[7, 5, 4, 3, 2, 1]
正确答案:A
单选题
29、有如下函数定义,执行结果正确的是?
def dec(f):
n = 3
def wrapper(*args,**kw):
return f(*args,**kw) * n
return wrapper
@deC、def foo(n):
return n * 2
A、foo(2) == 12
B、foo(3) == 12
C、foo(2) == 6
D、foo(3) == 6
正确答案:A
单选题
30、在Python3中,以下字符串操作结果为:
strs = 'I like python'
one = strs.find('a')
print(one)
two = strs.index('a')
print(two)
A、None, 报错
B、报错,报错
C、-1, NonE、D、-1, 报错
正确答案:D、官方解析: 在Python3中,string.find(str, beg=0, end=len(string)),检测 str
是否包含在 string 中,如果 beg 和 end
指定范围,则检查是否包含在指定范围内,如果存在返回第一次出现位置的索引值,否则返回-1, string.index(str, beg=0,
end=len(string)),跟find()方法一样,只不过如果str不在 string中会报一个异常。
多选题
31、下列关于python socket操作叙述正确的是( )
A、使用recvfrom()接收TCP数据
B、使用getsockname()获取连接套接字的远程地址
C、使用connect()初始化TCP服务器连接
D、服务端使用listen()开始TCP监听
正确答案:CD
单选题
32、Python3中,下列对程序描述正确的是:
lists = [1, 2, 3, 4, 5, 6]
lists.append([7,8,9])
print(lists)
A、[1,2,3,4,5,6]
B、[1,2,3,4,5,6,[7,8,9]]
C、[1,2,3,4,5,6,7,8,9]
D、[7,8,9]
正确答案:B
官方解析:
在Python3中,list.append(obj)表示在列表末尾添加新的对象,
因此执行 lists.append([7,8,9]) 后会在 lists 最后一个元素后增加一个新的列表元素 [7,8,9],所以最后结果为:[1,2,3,4,5,6,[7,8,9]]
单选题
33、在Python3中关于下列字符串程序运行结果为?
str1 = "exam is a example!"
str2 = "exam"
print(str1.find(str2, 7))
A、-1
B、14
C、0
D、10
正确答案:D 官方解析: 在Python3中 strs.find(str, beg=0,
end=len(strs))表示在strs中返回第一次出现str的位置下标,beg表示在strs中的开始索引,默认为0(此题中为7),end结束索引,默认为strs的长度,因此此题的结果为10
单选题
34、执行以下程序,当用户输入0时,输出结果为()
dividend = 1
divide = int(input())
try:
result = dividend / divide
print(1,end=" ")
except ZeroDivisionError:
print(2,end=" ")
except Exception:
print(3,end=" ")
else:
print(4)
A、1 2
B、2 4
C、2 3
D、2
正确答案:D 官方解析:
在try…except…else结构中,当执行try程序块的语句时,若出现异常的语句,则不会继续执行try还未执行的代码,而是直接跳到except程序块,由于0不能作为分母,其抛出的异常对象属于异常类ZeroDivisionError,结果输出2,当异常被处理完时,会直接跳出except程序块,当try程序块没有出现异常时,不会执行except而执行else语句,出现异常时则执行except而不执行else,所以最终输出结果是2。
单选题
35、在python中,使用open方法打开文件,语法如下:
open(文件名,访问模式)
如果以二进制格式打开一个文件用于追加,则访问模式为:
A、rb
B、wb
C、ab
D、a
正确答案:C
结束语 🥇🥇🥇
发现非常好用的一个刷题网站,可以检测大家的基础!大家一起努力!加油!!!
包含数据库、Java、C++、C、Python、前端等等题目,难度可以自行选择
在线编程出答案,(也可自行查看答案),也有选择题,非常方便
程序员刷题神器网站点击链接注册即可刷题
祝大家早日找到满意的工作!