python青少年编程题目二级_青少年编程能力等级测评试卷及答案 Python编程(二级)...
青少年编程能力等级测评试卷
Python编程(二级)
(考试时间90分钟,满分100分)
一、单项选择题(共20题,每题2.5分,共50分)运行下方代码段,输出的结果是( D )。
a=()
print(type(a))A.B.C.D.
- 在content.txt中最初的内容是字符串' yesterday '。运行该代码段之后,在content.txt中的内容将变为( C )
f = open('content.txt','w')
for i in 'today':
f.write(i)
f.close()A.yesterdaytodayB.yesterdaytodayC.todayD.y
3.运行下方代码段,输出的结果是( A )。
a=[3,7,4,6,2,5]
a.sort(reverse=True)
print(a[3:])A.[4, 3, 2]B.[5, 6, 7]C.[5, 4, 3, 2]D.[4, 5, 6, 7]
4. 运行下方代码段,则a的取值范围是( D )。
import random
a = abs(random.choice([2,4]))A.2 <= a <= 4B.2 <= a < 4C.a = 2或 a = 3D.a = 2或 a = 4
在以下代码段中存在错误的是选项(C)。
A.赋值部分使用了元组创建列表new_seq= (1,3,4,6,7)后直接调用了new_seq.append(8),这种操作不符合列表初始化规范。
B.导入语句存在问题from time import timesleep(3)应更改为from time import sleep并正确调用sleep函数
C.for num in set(1236): print(num)D.import osf = open('name.txt','w')
一个Python包的文件目录结构见下文(图1),其中happy.py的文件内容见图2,则在main.py运行时会输出'Happy Birthday!'的代码是什么呢?
图1 图2
A.import a.happyf()B.from mypack.a.happy import ff()
C.import a.b.happyf()D.from a.happy import *f()
7.下列不合法的自定义函数名的是( C )。A.ClassB.adddC.continueD._685
- 以下是一些常见的代码示例,请判断哪一个能够识别一个字符并确定其类型:( B ) A选项:a=int(input())if 0<=a<=9: print('数字')else: print('字母') B选项:a=input()if '0'<=a<='9': print('数字')else: print('字母')
C.该方法会获取一个字符变量 a 并显示其类型(如果是小写字母则显示"字母"否则显示"数字")
D.该方法会获取一个字符变量 a 并显示其类型(如果是小写字母则显示"字母"否则显示"数字")
9. 运行下方代码段,输出的结果是( A )。
def calc_abs(a,b):
print(abs(a+b))
a = -9
b = 3
calc_abs(a,b)A.6B.-6C.9D.-9
10. 运行下方代码段,输出的结果是( D )。
a = 'rain cat and dog'
print(len(tuple(a))-len(set(a)))A.3B.4C.5D.6
11. 运行下方代码段,输出的结果是( A )。
a,b,c,d = 3,5,8,10
def exchange(a,b):
return b,a
c,d = exchange(a, b)
print(a,b)A.3 5B.5 3C.8 10D.10 8
12. 下列关于Python标准库random的叙述中,正确的是( D )。
A.标准库random中的方法运行后的结果一定是无法确定的
B.在执行import random语句后,运行random()语句不会出错
C.在执行from random import * 语句后,运行choice(3)语句不会出错
D.可以通过import random函数来完成标准库random组件的功能导入
13. 农场最近引进了一对新鲜的兔子,在饲养三个月后每个月都会产生一批新的后代小兔崽子。这些小兔崽子们也是个小艺术家,在出生后的第三个季度起每个月都会贡献出一批全新的作品。假如这些可爱的小家伙们都健康成长并且不会离开这个农场的话,请问根据给定的函数模型我们能够预测出到第n季度时农场里共有多少双小可爱吗?按照这个模型计算的话,在第五个季度的时候我们的小动物们一共将会收获多少双呢?答案是(B)
def rabbit(n):
if n==1 or n==2:
return 1
else:
return rabbit(n-1)+rabbit(n-2)
A.3B.5C.7D.9
14. 运行下方代码段,输出的结果是( A )。
print(type(False)==type(1+1==3))A.TrueB.trueC.FalseD.false
以下哪个代码段在执行时会出现错误*(C)*?A.从time模块导入time函数并命名为timprint,并调用timprint函数传递time属性的时间对象作为参数B.从time模块导入time函数并命名为timprint,并调用timprint函数传递time模块内time属性的时间对象作为参数
C.from theime import theime as theimePrint(theime())
D.from theime import theime as theimePrint(theime())
16. 运行下方代码段,依次输入3、9、12、8、6、-1,则输出的结果是( C )。
def count(n):
if n%2==0:
global a
a = a+1
a = 0
while True:
b = int(input())
if b==-1:
break
else:
count(b)
print(a)A.6B.5C.3D.0
17.对于下方代码段的叙述中,正确的是( B )。
class shopping:
def init(self,name,money):
self.name = name
self.money = money
self.pen = 0
def buy(self):
while self.money > 10:
self.money = self.money-7
self.pen = self.pen+1
return self.money
n = int(input())
a = shopping('Xiaoming', n)
print(a.buy())
A.输入100时,输出的值是13B.输入100时,输出的值是9
C.输入150时,输出的值是20D.输入150时,输出的值是3
18. 运行下方代码段,屏幕上会打印出一个整数,则①处可以填写( D )。
class convert:
def init(self,name):
self.name = name
self.__num = 4
def to_int(self):
return int(self.name)
n = convert(8.5)
print(①)A.n.numB.n.to_int
C.n.num()D.n.to_int()
19. 运行下方代码段,输出的结果是( A )。
import turtle
def draw():
turtle.fd(80)
turtle.left(90)
turtle.fd(40)
turtle.left(90)
turtle.fd(80)
turtle. hideturtle ()
for i in range(4):
turtle.left(90)
draw()A.B.C.D.
20. 运行下方代码段,输出的结果是( A )。
a = [1,2,5,8,13,6,1]
b = [4,2,5,9,2,8,1]
c=[]
for i in a:
for j in b:
if i==j:
c.append(i)
print(c)A.[1, 2, 2, 5, 8, 1]B.[1, 2, 5, 8, 1]C.[2, 5, 1]D.[2, 5, 2, 8, 1]
第二部分包含5道多选题, 每道2分, 总分10分. 在以下关于Python第三方库的说法中, 请选出正确的选项:A. C. D.
通过命令提示符运行pip install wordcloud指令即可完成Python第三方库wordcloud的安装过程
B.wordcloud库制作的词云图片只能以.png格式进行保存
C.jieba库中的方法lcut()正确使用后将返回一个列表类型的数据
D.在安装完成后能够实现通过运行count.py脚本来打包该Python源代码文件为一个独立的可执行文件count.exe
2. 下列有关算法的叙述中,错误的是( ABD )。
A.算法就是程序
B.算法不能通过自然语言表示
C.一个完整的算法必须要有输出
D.算法只能有一个输入,但可以有多个输出
3. 对于下方代码段的叙述中,错误的是( AC )。
a = input()
b = set(a)
print(tuple(b)[1:])
A.输入65535,输出的结果可能是('5', '5')
B.输入163361,输出的结果可能是('1', '3')
C.输入t3536,输出的结果可能是('3', '6', 't', '5')
D.输入love cats,输出的结果可能是('l', 'o', 'v', 'e', 'c', 'a', 't', 's')
4. 下列程序段运行后,输出结果相同是( AB )。A.print(type(ord('3')))B.print(type(abs(-3)))
C.print(type(1+2 == 3))D.print(type((1,2,3)[0:]))
5. 下列有关函数的叙述中,正确的是( AD )。
A.Python中定义函数用的关键字是def
B.在函数内部没有任何方法可以影响实参的值
C.当函数中包含指令return True时,则无论在何种情况下调用该函数都会返回True
D.说明函数名称时,默认情况下即便该函数无需接受任何参数,在其名称后仍需紧跟一对空圆括号
在导入random模块后, print函数调用random模块返回值加一的结果可以正常运行。( × )
Python元组中的所有元素必须是相同类型的数据。( × )
Python集合中的元素是无序的。( √ )
Python在定义函数时,必须指定函数的返回值类型。( × )
在函数内部无法定义新的全局变量。( × )
Turtle是Python中的保留字。( × )
表达式'ab' in 'adcb'的值为False。( √ )
任意一个包含若干关联Python文件的文件夹都可以被Python识别为包。( × )
Python使用关键字Class来定义类。( × )
Python中内置函数open()可以用来打开或创建文件并返回文件对象。( √ )
第4题(共2题)编程问题(共40分)即为‘水仙花...'
四、编程题(共2题,每题20分, 共40分)即为‘水仙花...'
参考代码:
def count(a,b):
result=[]
for i in range(a,b+1):
x,y,z=str(i)[0],str(i)[1],str(i)[2]
if i == int(x)**3+int(y)**3+int(z)**3:
result.append(i)
return result
print(len(count(200,500)))
在某个中国省份中,汽车牌照号码的设计方案包括以下要素:该省使用的省份代码是一个固定不变的文字符号,搭配上一个大写字母以及五个阿拉伯数字,形成统一的标准格式(例如:K12345)。其中,这个固定使用的文字符号仅限于该省份,其余部分则由单一字母加上五个数字构成的一个字符串表示。根据这一设定,请设计并实现一个程序,估算可用的不同号码数量。
要求:
(1)接收用户输入的字符串(包含字母和数字);
车牌号的首位应当是大写字母;因此,在用户的输入字符串中包含小写字母时,则程序应将其转换为相应的 uppercase letters.
(3)根据用户的输入信息计算能生成互不相同的车牌号数量n,并将其显示在屏幕上(例如, 输入A1, 可以生成A11111, n=1; 输入Ab, 则无法生成符合要求的车牌号, n=0).
提示:
(1)接收用户输入的字符串;
识别每一个字符是否属于数字或字母范畴,并对所有的小写字母执行相应的转换操作;随后将获取的所有数字信息与所有的小写字母信息分别存储到独立的两个变量中。
去重操作完成后,基于字母与数字的个数进行计算以确定满足条件且独一无二的车牌号总数n;
(计算公式为:n = 无重复的数字个数**5*无重复的字母个数)
(4)将计算结果n打印到屏幕上。
注:input()函数中不要增加任何参数等提示信息。例:输入:b12
输出:32
输入:Dh324
输出:486
参考代码:
def car(s):
num=[]
text=[]
for i in s:
if ord('0')<=ord(i)<=ord('9'):
num.append(i)
elif ord('A')<=ord(i)<=ord('Z'):
text.append(i)
elif ord('a')<=ord(i)<=ord('z'):
text.append(chr(ord(i)-32))
return len(set(num))**5*len(set(text))
s=input()
print(car(s))
