理论
单选题
1、Python中 print(“八进制{: o}”.format(12)) 正确的输出结果是?
A、八进制:O
B、八进制:O14
C、八进制14O
D、八进制14
2、下列的程序为求10的阶乘,则在①处应填入的是?
ans = 1
for i in range( ① ):
ans *= i
print(ans)
A、10
B、1,10
C、11
D、1,11
3、下列程序为求1—>100所有偶数之和,则在①处应填入?
ans = 0
for i in range( ① ):
ans += i
print(ans)
A、1,100,2
B、1,101,2
C、2,101,2
D、2,100,2
4、下列程序为降序输出1—>100所有偶数,则在①处应填入?
for i in range( ① ):
print(i)
A、101,2,-2
B、100,1,-2
C、2,101,-2
D、2,100,-2
5、下列程序为倒序输出列表的元素,则在①处应填入?
lst = [1, 4, 5, 7, 9]
for i in range( ① ):
print(lst[i])
A、len(lst)-1,-1,-1
B、len(lst)-1,0,-1
C、len(lst),-1,-1
D、len(lst)-1,-1
6、Python中字符串可以使用反斜线进行转义,实现某些难以用字符表示的效果。下列可以实现换行效果的转义字符是?
A、\b
B、\n
C、\t
D、\r
7、下列可以正确输出 池塘里”快乐的歌唱家” 字符的Python语句是?
A、print("池塘里\"快乐的歌唱家")
B、print("池塘里\"快乐的歌唱家\")
C、print('池塘里'\"快乐的歌唱家\")
D、print('池塘里\"快乐的歌唱家\"')
8、现有字符串S= “Where there’s a will there’s a way.”,现在需要计算并输出字符串中’e’在S出现的次数,正确的语句是?
A、print(S.find('e',1))
B、print(S.index('e'))
C、print(S.count('e'))
D、print(S.index('e',0,len(S)))
9、下列哪个选项是Python math库的数字常数?
A、math.sin
B、math.sqrt
C、math.e
D、math.pow
10、下列可以输出当前时刻时间的正确的语句是?
A、print(time.ctime())
B、print(time.strptime())
C、print(time.nowtime())
D、print(time.local())
11、Python中可以实现随机生成1-20之间int类型整数的语句是?
A、print(random.int(1,20))
B、print(random.randint(1,20))
C、print(random.sample(1,20))
D、print(random.shuffle(1,20))
12、Python中词云主要是对文本数据中出现频率较高的“关键词”通过不同颜色、大小的渲染,在视觉上突出表现。常用的主要有WordCloud库,下列是WordCloud常用参数的是?
A、width,height,background_color,max_words,mask
B、width,height,bold,memset,jieba,max_words
C、background_color,jieba,time,random,mask,max_words
D、background_color,jieba,time,random,mask,min_words
13、元组变量name=(“张三”,“李四”,“小明”,“小红”),则name[::-1]的运行结果是?
A、("小红","小明","李四","张三")
B、["小红","小明","李四","张三"]
C、('小红')
D、运行出错
14、已知一个元组t= (‘x’, ‘y’, [‘X’, ‘Y’])。执行如下代码后,输出的结果是?
t[2][0] = 'xx'
t[2][1] = 'yy'
print(t)
A、元组t不发生变化,仍为('x', 'y', ['X', 'Y'])
B、结果为:('x', 'y', ['xx', 'yy'])
C、结果为:('x', 'y', 'xx', 'yy')
D、运行时错误
15、运行下列语句,输出的结果是?
nums = [i * i for i in range(1, 10) if i % 3 == 0]
print(nums)
A、[1,4,9,16,25,36,49,64,81]
B、[9,36,81]
C、[3,6,9]
D、[4,16,36,64]
16、运行下列程序,以下选项正确的是?
def k(num):
if num == 1:
return False
for i in range(2, num):
if (num % i) == 0:
return False
else:
return True
nums = [i for i in range(1, 100) if k(i)]
print(nums)
A、输出结果为1到99(包括99)所有整数组成的列表
B、输出结果为1到98(包括98)所有偶数组成的列表
C、输出结果为1到99(包括99)所有奇数组成的列表
D、输出结果为1到97(包括97)所有质数(素数)组成的列表
17、运行下列语句,输出的结果是?
>>> x=["A","B","C"]
>>> y=["a","b","c"]
>>> {i:j for i,j in zip(x,y)}
A、{['A','a'],['B','b'],['C','c']}
B、{'a','b','c'}
C、{'A': 'a', 'B': 'b', 'C': 'c'}
D、{'A','B','C'}
18、运行下列程序,输出的结果是?
letter=list({'a':1,'b':2,'c':3,'d':4})
print(letter)
A、[1,2,3,4]
B、['a','b','c','d']
C、['a',1,'b',2,'c',3,'d',4]
D、['a':1,'b':2,'c':3,'d':4]
19、有如下Python程序段,则程序执行后,p的值是?
L=[5,8,7,2,6,4,1,8]
p=0
for i in range(1,len(L)):
if L[i]
p=i
A、3
B、4
C、5
D、6
20、运行下列程序,输出的结果是?
c=[5,3,5,8,2,7,6]
c.pop(5)
c.remove(5)
print(c)
A、[3,8,2,7,6]
B、[5,3,8,7,6]
C、[3,5,8,2,6]
D、[5,3,8,2,6]
21、运行下列程序,输出的结果是?
x=['bike','car','bus','train']
print(list(map(len, x)))
A、[0,1,2,3]
B、[1,2,3,4]
C、[4,3,3,5]
D、[4,3,3,4]
22、运行下列程序,输出的结果是?
>>> a={1,2,3,4,5,6}
>>> b={4,5,6,7,8,9}
>>> print(a&b)
A、{1,2,3}
B、{4,5,6}
C、{7,8,9}
D、{1,2,3,4,5,6,7,8,9}
23、运行下列程序,输出的结果是?
>>> fruit={'apple','orange','pear'}
>>> fruit.update("pear")
>>> print(fruit)
A、{'e','r','p','a','apple','orange','pear'}
B、{'pear','orange','apple'}
C、{'pear','orange','apple','pear'}
D、{'orange','apple'}
24、运行下列程序,输出的结果是?
scores={"语文":89, "数学":92}
scores["数学"]=90
scores[100]="技术"
print(scores)
A、{'语文':89,'数学':90,100:'技术'}
B、{'语文':89,'数学':90,'技术':100}
C、{'语文':89,'数学':92,'技术':100}
D、'语文':89,'数学':90,100:'技术'
25、编写Python程序实现:输入任意一个数字,输出所需火柴棍的数量。划线处应填入的代码是?
num=input()
code={0:6,1:2,2:5,3:5,4:4,5:5,6:6,7:3,8:7,9:6}
count=
print("共需火柴棍:",count)
A、int(num)
B、code(int(num))
C、code[int(num)]
D、code[num]
判断题
26、range(start,stop,step)函数返回一个对象,该对象产生一个整数序列,开始与结束位置所组成的区间[start, stop],是左闭右闭的,start默认是0,step默认是1。
27、Python中对字符串进行修改时只需使用原有的内存空间,其内存地址不会发生变化。
28、在Python中设定字符串 str=“Hello Python”
则str.find(‘w’)返回值为0。
29、Python默认安装包含PyInstaller内置模块,可以直接运行。
30、从存储内容上看,元组可以存储整数、实数、字符串、列表、元组等任何类型的数据,并且在同一个元组中,元素的类型是相同的。
31、对于数字n,如果表达式 0 in [n%d for d in range(2, n)] 的值为False,则说明n是素数。
32、以下程序的运行结果是:[(‘语文’, 105), (‘数学’, 97), (‘英语’, 156), (‘科学’, 105), (‘思品’, 72)]。
>>>sub=['语文','数学','英语','科学','思品','体育']
>>>score=[105,97,156,105,72]
>>>list(zip(sub,score))
33、集合是一个无序的不重复元素序列,用{}作为界定符,如集合{1,2,[3,4],“ab”}。
34、用set(“12323”)和{str(i) for i in range(1,4)}可以创建相同的集合。
35、在 Python 中,字典是一个无序、可变和有索引的键、值对的集合,每一对键、值对之间用分号“;”间隔。
实操
第一题
明明得到一个数值列表,想知道列表中只出现过一次的元素。请你帮忙编写程序输出这些元素。注意元素必须按照它们在数字列表中初始顺序输出。 输入格式: 输入共1行,若干个数值之间以空格隔开。 输出格式: 输出共1行,若干个数值之间以空格隔开。
输入样例: 19 73 258 6 73 234
输出样例: 19 258 6 234
a=[int(i) for i in input().split()]
n=len( ① )
for i in range( ② ):
f=0
for j in range(n):
if (a[i]== ③ and i!=j):
f=1
break;
if (f==0):
print( ④ ,end=' ')
第二题
数字序列交集
已知两个整数序列num1和num2,求解两个整数序列的交集。输出结果中的每个元素一定是唯一的。我们可以 不考虑输出结果的顺序 。例如,nums1 = [4,9,5], nums2 = [9,4,9,8,4]。输出结果可以为[9,4]或[4,9]。
请将程序代码补全:
def aa( nums1=[], nums2=[]):
set1 = ①
set2 = ②
if len(set1) > len(set2):
③
return [x for x in set1 if x in ④ ]
nums1=[4,9,5]
nums2= [9,4,9,8,4]
print(aa(nums1,nums2))
第三题
“石头剪刀布”游戏是猜拳的一种,两人玩,起源于中国,游戏规则中,石头克剪刀,剪刀克布,布克石头。小明编写了Python程序代码,决定与电脑大战“石头剪刀布”。
输入格式:
共1行,一个数表示用户出拳的类型(石头1、剪刀2、布3)。
输出格式:
共1行,输出电脑的出拳类型与游戏结果。
输入样例:
2
输出样例:
电脑出的是布,这局恭喜用户胜出!
import random
win=[('石头','剪刀'), ① ,('布','石头',)]
cq={1:'石头',2:'剪刀',3:'布'}
while True:
user=int(input('请出拳:1.石头 2.剪刀 3.布 \n'))
if user not in range( ② ):
print("输入有误,请重新输入……")
continue
computer=random.randint(1,3)
if user==computer:
print("电脑出的是%s,这局是平局!"%cq[computer])
break
elif ( ③ ,cq[computer]) in win:
print("电脑出的是%s,这局恭喜用户胜出!"%cq[computer])
break
else:
print("电脑出的是%s,这局恭喜电脑胜出!"%cq[computer])
break