第 1 题 单选题
执行下列代码,正确的答案是?( )
>>> l=[10,0,1,6,12,8]
>>> l.sort(key=str)
>>> l
A. [0,1,6,8,10,12]
B. [0,1,10,12,6,8]
C. [0,1,10,6,8,12]
D. [12,10,8,6,1,0]
第 2 题 单选题
下列说法,正确的是?( )
A. 集合类型是一个元素集合,元素之间有序
B. 集合类型是一个元素集合,元素不能重复
C. 集合类型是一个元素集合,元素可以重复
D. 集合类型是一个元素集合,元素之间无序,元素类型必修相同
第 3 题 单选题
对于r=range(5),下列合法的方法是?( )
A. r[2]=8
B. del r[2]
C. r.pop()
D. r.count(2)
第 4 题 单选题
下列代码的运行结果是?( )
def jishu(n):
return n % 2 == 1
newlist = filter(jishu, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
n=list(newlist)
print(n)
A. [2,4,6,8,10]
B. [1, 3, 5, 7, 9]
C. [1,2,3,4,5,6,7,8,9,10]
D. [10,9,8,7,6,5,4,3,2,1]
第 5 题 单选题
下列语句的输出结果是?( )
for i in “xyz”:
for j in range(3):
print(i,end=’ ’)
if i==”z”:
break
A. xxxyzzz
B. xxxyyyz
C. xxxyyyzzz
D. xyyyzzz
第 6 题 单选题
下列操作,正确的为哪一项?( )
A.
>>>tuple(‘ni hao’)
>>>(‘ni’,’hao’)
B.
>>>tuple(range(3))
>>>(0,1,2)
C.
>>>tuple(str,range(3))
>>>(0,1,2)
D.
>>>tuple(map(str,range(3)))
>>>(0,1,2)
第 7 题 单选题
下列有关列表的描述,错误的是?( )
A. 列表是包含若干元素的随机内存空间
B. 列表是包含若干元素的有序内存空间
C. 列表是包含若干元素的连续内存空间
D. 列表的相邻元素之间使用逗号分隔
第 8 题 单选题
运行下列代码的结果是?( )
import math
math.ceil(-3.3)
A. -4
B. -3
C. -4.0
D. -3.0
第 9 题 单选题
下列元组的声明,非法的是哪一项?( )
A. t=1,2,3
B. t=(1,2,3)
C. t=(1,)
D. t=(1)
第 10 题 单选题
运行下列代码,正确的结果是?( )
>>>print("{:.2f}".format(3.1415926))
A. ’3.1’
B. 3.1
C. ’3.14’
D. 3.14
第 11 题 单选题
使用map函数可以实现列表数据元素类型的转换,而无需通过循环。则将列表l=['2','4','6','8']转换为列表[2,4,6,8]的函数写法为?( )
A. map(int,l)
B. list(map(int,l))
C. map(l,int)
D. list(map(l,int))
第 12 题 单选题
运行下列代码,正确的结果是?( )
>>>x = set('runoob')
>>> y = set('google')
>>> x & y
A. {‘o’,’o’}
B. {'r', 'b', 'u', 'n'}
C. {'b', 'e', 'g', 'l', 'o', 'n', 'r', 'u'}
D. {'o'}
第 13 题 单选题
下列语句的输出结果是?( )
l=list(range(1,3))
print(l)
A. [0,1,2]
B. {0,1,2}
C. [1,2]
D. .{1,2}
第 14 题 单选题
赋值语句path='c:\abc\xyz\tag.txt',执行结果是?( )
A. path的值是'c:\abc\xyz\tag.txt'
B. path的值是'c:\bc\yz\ag.txt'
C. path的值是'c:\abc\xyz\tag.txt'
D. 提示出错
第 15 题 单选题
方法pop()与remove()的区别与相同点,错误的是?( )
A. 都是删除与参数表中参数相同的元素
B. pop()有返回值
C. remove()没有返回值
D. pop()如果不带参数,则表示默认参数值为-1
第 16 题 单选题
有关jieba库的描述,错误的是?( )
A. jieba库的分词原理是利用英文词库,将待处理的内容与词库比对后找到最大概率的词组
B. jieba.lcut(s)返回的是一个列表类型
C. jieba.cut(s)返回的可能是一个元组类型
D. jieba.add_word(w)向分词词典中增加新词w
第 17 题 单选题
要生成如下效果的图片,可以使用以下哪个python库?( )
A. jieba
B. math
C. matplotlib
D. wordcloud
第 18 题 单选题
以下列表对象的表达,非法的或者值为False的选项是?( )
A. []
B. [None,0,’’]
C. [1,2,3]
D. [8,]!=[8]
第 19 题 单选题
下列语句的输出结果是?( )
for i in range(6):
if i%2==0:
continue
else:
print(i,end=’,’)
A. 1,3,5,
B. 1,3,5
C. 0,2,4,
D. 0,2,4
第 20 题 单选题
随机产生1-5之间的一个整数的代码是?( )
A.
>>>import random
>>>random.randrange(1,6)
B.
>>>import random
>>>random.randrange(1:6)
C.
>>>import random
>>>random.randchoice(1,5)
D.
>>>import random
>>>random.randint(1,5)
第 21 题 单选题
print(‘\x61’)的结果是?( )
A. \x61
B. ‘\x61’
C. a
D. A
第 22 题 单选题
下列声明字典的语句,错误的是?( )
A. d={}
B. d={'name':'Tom','age':20,"salary":3900}
C. d=dict(title='Python',author='Tom',price=59)
D. d=list[('name','Jerry'),('age',20)]
第 23 题 单选题
求执行下列操作后的正确结果?( )
>>> url='www.lxsz.com'
>>> url.split()
A. ('www.lxsz.com')
B. ['www’,’lxsz’,’com']
C. ['www.lxsz.com']
D. ('www’,’lxsz’,’com')
第 24 题 单选题
m=[x*x for x in range(5) ]的结果的是?( )
A. 25
B. 16
C. [0, 1, 4, 9, 16]
D. (0, 1, 4, 9, 16)
第 25 题 单选题
若d是一个字典,则max(d)是指求?( )
A. 字典中键的最大值
B. 字典中值的最大值
C. 字典中键值对的最大值
D. 字典中数字值的最大值
第 26 题 判断题
对于列表l=[0,1,2,3,4],all(l)的值是True,any(l)的值是False。
A. 正确
B. 错误
第 27 题 判断题
set()函数可以用于生成集合,输入的参数可以是任意组合数据类型,返回结果是一个无重复且排序任意的集合。
A. 正确
B. 错误
第 28 题 判断题
下列两个语句的功能不可能等价:
>>> l=[x*x for x in range(6)]
>>> l=list(map(lambda x:x*x,range(6)))。
A. 正确
B. 错误
第 29 题 判断题
字典中的“键”不允许重复,“值”也不允许重复。in运算符的速度比列表、元组快得多。
A. 正确
B. 错误
第 30 题 判断题
>>>list(zip(range(3),"abcd"))
返回[(0, 'a'), (1, 'b'), (2, 'c'),(3,’d’)]。
A. 正确
B. 错误
第 31 题 判断题
>>> list(enumerate(range(3)))
返回值为[(0, 0), (1, 1), (2, 2)]。
A. 正确
B. 错误
第 32 题 判断题
列表、元组、字符串均可以用set()转换为集合,例如:>>>set((1,2,2,3,4)),结果是{1,2,2,3,4}。
A. 正确
B. 错误
第 33 题 判断题
>>>m=’\n\nnihao\t\tliping\n\n\nzhang san’
>>> m.split()
结果是:['nihao', 'liping', 'zhang san']。
A. 正确
B. 错误
第 34 题 判断题
利用日期时间模块datetime,可以获取“今天”的日期,方法如下:
>>> import datetime
>>> t=datetime.today()。
A. 正确
B. 错误
第 35 题 判断题
>>> '{0:%}'.format(3.5)返回'350.000000%';
>>>’{0:.2f}’.format(1/5)返回'0.2'。
A. 正确
B. 错误
第 1 题 问答题
简单去重问题:
对于给定的列表,要求对列表中每个重复元素只输出一次,请你编程完成这个任务。
例如:对于测试列表a=[11,1,14,23,11,89,14,56,89]
有如下3种算法,请你补全代码。
方法1
a=[11,1,14,23,11,89,14,56,89]
result=[]
for i in a:
if i not in result:
①
print("方法1:",result)
方法2
a=[11,1,14,23,11,89,14,56,89]
for i in [j for j in a if a.count(i)>1]:
for x in range(a.count(i)-1):
②
print("方法2:",a)
方法3
a=[11,1,14,23,11,89,14,56,89]
i=0
while i<=len(a)-1:
if a.count(a[i])>1:
③
else:
④
print("方法3:",a)
第 2 题 问答题
密码问题:
根据密码本和电子钥匙,破解笔记本电脑的密码。
密码本是一个非降的整数序列,电子钥匙是一个整数,得到密码的方法是在密码本中找到最接近电子钥匙的整数(如果多个符合条件,输出最小的一个)。
例如:
密码本为下面的列表
a=[1,22,43,45,45,55,60,70,89]
电子钥匙为整数44
满足条件的整数为43和45,最终的密码为43
补全下面的代码:
a=[1,22,43,45,45,55,60,70,89] #密码本
k=int(input()) #k为电子钥匙
l=0
r=8
while l+1!=r:
mid=int ( ① )
if a[mid]<k:
②
else:
r=mid
if a[r]==k:
③
if k-a[l] <= ④ :
print(a[l])
else:
print(⑤)
第 3 题 问答题
罗马数字问题:
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。
27写做 XXVII,即为 XX + V + II 。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减去数 1 得到的数值 4。同样地,数字 9 表示为 IX。
这个特殊的规则只适用于以下六种情况:
I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。
X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。
C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。
现编写输入一个罗马数字,输出其整数结果,请编程实现上述功能,或补全代码。
例如,当输入XXII时,输出22;当输入MCMXC时,输出1990.
rmdict = {'I':1,'V':5,'X':10,'L':50,'C':100,'D':500,'M':1000}
rm = list(input("请输入正确的罗马数字:"))
num, prew = 0, 1
for ch in rm[::-1]:
w = ①
if prew > w:
num = num - w
else :
num = num + w
prew = ②
print( ③ )