青少年软件编程(Python五级)等级考试试卷(2022年6月)

2023年06月01日

一、选择题

第 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. max_words,mask,width,height,jieba,text_color

第 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程序段:

L=[5,8,7,2,6,4,1,8]
p=0
for i in range(1,len(L)):
	if L[i]<L[p]:
		p=i

则程序执行后,p的值是?( )

A. 3

B. 4

C. 5

D. 6

第 20 题 单选题

运行下列程序,输出的结果是?( )

c=[5,3,5,8,2,7,6]
pop(5)
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。( )

A. 正确

B. 错误

第 27 题 判断题

Python中对字符串进行修改时只需使用原有的内存空间,其内存地址不会发生变化。( )

A. 正确

B. 错误

第 28 题 判断题

在Python中设定字符串 str="Hello Python"

则str.find(‘w’)返回值为0。( )

A. 正确

B. 错误

第 29 题 判断题

Python默认安装包含PyInstaller内置模块,可以直接运行。( )

A. 正确

B. 错误

第 30 题 判断题

从存储内容上看,元组可以存储整数、实数、字符串、列表、元组等任何类型的数据,并且在同一个元组中,元素的类型是相同的。( )

A. 正确

B. 错误

第 31 题 判断题

对于数字n,如果表达式 0 in [n%d for d in range(2, n)] 的值为False,则说明n是素数。( )

A. 正确

B. 错误

第 32 题 判断题

>>>sub=['语文','数学','英语','科学','思品','体育']
>>>score=[105,97,156,105,72]
>>>list(zip(sub,score))

结果是:[('语文', 105), ('数学', 97), ('英语', 156), ('科学', 105), ('思品', 72)]。( )

A. 正确

B. 错误

第 33 题 判断题

集合是一个无序的不重复元素序列,用{}作为界定符,如集合{1,2,[3,4],"ab"}。( )

A. 正确

B. 错误

第 34 题 判断题

用set("12323")和{str(i) for i in range(1,4)}可以创建相同的集合。( )

A. 正确

B. 错误

第 35 题 判断题

在 Python 中,字典是一个无序、可变和有索引的键、值对的集合,每一对键、值对之间用分号“;”间隔。( )

A. 正确

B. 错误

三、编程题

第 1 题 问答题

明明得到一个数值列表,想知道列表中只出现过一次的元素。请你帮忙编写程序输出这些元素。注意元素必须按照它们在数字列表中初始顺序输出。 输入格式: 输入共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=' ')

第 2 题 问答题

数字序列交集

已知两个整数序列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))

第 3 题 问答题

“石头剪刀布”游戏是猜拳的一种,两人玩,起源于中国,游戏规则中,石头克剪刀,剪刀克布,布克石头。小明编写了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