试卷 2022年3月青少年软件编程Python等级考试(二级)试卷
2022年3月青少年软件编程Python等级考试(二级)试卷
选择题
第 1 题    单选题

以下关于元组的描述正确的是?

A.

元组和列表相似,所有能对列表进行的操作都可以对元组进行

B.

创建元组时,若元组中仅包含一个元素,在这个元素后可以不添加逗号

C.

元组中的元素不能被修改

D.

多个元组不能进行连接

第 2 题    单选题

下面程序的运行结果是?( ) 

a=80
b=70
if a>b:
    a,b=b,a
    print(a,b)


A.

70 70

B.

80 70

C.

70 80

D.

80 80

第 3 题    单选题

关于以下代码段的说法错误的是?

a = [1, 2, 5, 4, 3]
a.sort(reverse=True)
print(a)
A.
a.sort(reverse=True)语句中的reverse默认值为False。
B.
省略a.sort(reverse=True)语句中的reverse=True,代码运行结果不变。
C.
将以上代码的a.sort(reverse=True)改为a=sorted(a,reverse=True),代码运行结果和原题的结果一样。
D.

以上代码运行结果为:[5, 4, 3, 2, 1]

第 4 题    单选题

已知列表a=[1,3,5,7],下列语句无法将a变成a=[1,3,5,7,9]的是?

A.

a.append(9)

B.

a=[1,3,5,7,9]

C.

a.insert(4,9)

D.

a[4]=9

第 5 题    单选题

关于Python中的列表,下列描述错误的是?

A.

列表是Python中内置可变序列,是若干元素的有序集合;

B.

列表中的每一个数据称为“元素”;

C.

Python中,一个列表中的数据类型可以各不相同;

D.

可以使用s[1]来获取列表s的第一个元素。

第 6 题    单选题
d1={'学科':'语文','班级':'2班','最高分':99} 
d2={'学科':'数学','班级':'2班','最高分':100} 
d1.update(d2)
print(d1)

以上代码的运行结果为?

A.

{'学科':'语文','班级':'2','最高分':99}

B.

{'学科':'语文','班级':'2','最高分':100}

C.

{'学科':'数学','班级':'2','最高分':100}

D.

{'学科':'数学','班级':'2','最高分':99}

第 7 题    单选题

name=('Jerry',),则name的数据类型是?

A.

字符串

B.

元组

C.

列表

D.

其他类型

第 8 题    单选题

小张的爸爸每个月都有绩效工资,绩效工资根据业绩被分为120014001600三个等级,小张把爸爸每个月的绩效工资都记录在了一个money的列表中,如何能快速得到小张爸爸得到1600元绩效的次数?

A.

money.index(1600)

B.

money.count(1600)

C.

money.remove(1600)

D.

money.insert(0,1600)

第 9 题    单选题

3年级2班的学生花名册被存储在一个列表name中,如何快速得到该班级学生的总人数?

A.

print(sum(name))

B.

print(len(name))

C.

print(min(name))

D.

print(max(name))

第 10 题    单选题

cat=['fat','black','cloud'],则cat.index('black')的值为?

A.

1

B.

2

C.

3

D.

0

第 11 题    单选题

字符串str="maixnm"包含"min""max"两个单词,下面哪个操作不能将"min"从中找出来?

A.

str1=str[0]+str[2]+str[4]

B.

str1=str[0:-1:2]

C.

str1=str[::2]

D.

str1=str[0:4:2]

第 12 题    单选题

下面代码的输出结果是?

list1 = [1,2,3]
list2 = [4,5,6]
print(list1+list2)
A.

[4,5,6]

B.

[1, 2, 3, 4, 5, 6]

C.

[1, 2, 3,]

D.

[5,7,9]

第 13 题    单选题

以下程序的输出结果是?( )

lt = ['绿茶','乌龙茶','红茶','白茶','黑茶']
ls = lt
ls.clear()
print(lt)
A.

[]

B.

变量未定义的错误

C.

['绿茶','乌龙茶','红茶','白茶','黑茶']

D.

'绿茶','乌龙茶','红茶','白茶','黑茶'

第 14 题    单选题

以下代码的输出结果是?( )

ls = []
for m in '想念':
   for n in '家人':
          ls.append(m+n)
print(ls)
A.

["想念","家人"]

B.

["想想","念念","家人"]

C.

["想家想","人念家","念人"]

D.

["想家", "想人", "念家", "念人"]

第 15 题    单选题

以下程序的输出结果是?

tuple1 = (1,2,3)

tuple2 = (2)

print(tuple1*tuple2)

A.

(1,2,3)

B.

(1,2,3,1,2,3)

C.

(2,4,6)

D.

报错

第 16 题    单选题

执行以下程序

a=range(1,10)

for i in a:

    if i%2 == 0:

        print(i)

运行结果为?

A.

1 3 5 7 9

B.

1 4 7

C.

2 4 6 8

D.

2 5 7 9

第 17 题    单选题

以下选项中,不能用于表示分支结构的python函数是?

A.

if

B.

else

C.

in

D.

elif

第 18 题    单选题

已知a=list(range(10)),执行以下指令后,a的值会变成?

a[:2]=[5]

a.pop(5)

a.remove(5)

A.

[2, 3, 4, 5, 7, 8, 9]

B.

[2, 3, 4, 7, 8, 9]

C.

[2, 3, 4, 6, 7, 8, 9]

D.

[2, 3, 4, 6, 7, 8, 9]

第 19 题    单选题

编写一段猜密码程序,只允许猜三次,当猜中密码时,提示“密码正确”,程序退出。当输入密码错误时,提示“密码错误”,并提示剩余次数。程序空白处应填写的条件是?

A.

abc>0

B.

abc>=0

C.

abc==0

D.

abc!=3

第 20 题    单选题

想得到的输出为"My name is Kevin and I am 10 years old."以下选项正确的是?

A.

print('My name is %s and I am %d years old.',%('Kevin',10))

B.

print('My name is %s and I am %d years old.'%('Kevin',10))

C.

print('My name is %c and I am %d years old.'%('Kevin',10))

D.

print('My name is %s and I am %d years old.'%',Kevin',%10))

第 21 题    单选题

以下程序执行的结果是?

a=0
b=5
Sum=0
for i in range(3):
    if a>0:
        Sum+=a
        a+=1
    elif b>1:
        Sum+=b
    a+=1
    b+=1
print(Sum)
A.

7

B.

9

C.

11

D.

12

第 22 题    单选题

dic_color={'red':'红色','green':'绿色','gold':'金色','brown':'棕色','purple':'紫色'},以下选项中能够输出'金色'的是?

A.

print(dic_color['gold'])

B.

print(dic_color['金色'])

C.

print(dic_color[2])

D.

print(dic_color.values[2])

第 23 题    单选题

执行下列代码后,运行结果是?

d={'1':1,'2':2,'3':3,'4':4}
b=d
b['2']=5
print(d['2']+b['2'])
A.

4

B.

5

C.

7

D.

10

第 24 题    单选题

如果要计算1*2*3*4*5*6*7*8*9则下列程序代码正确的是?

A.

s=0
for i in range(1,10):
    s=s*i
print(s)
B.

s=0
for i in range(1,9):
    s=s*i
print(s)
C.

s=1
for i in range(1,10):
    s=s*i
print(s)
D.

s=1
for i in range(1,9):
    s=s*i
print(s)
第 25 题    单选题

小明用一个字典d={'语文':88,'数学':92,'英语':'96'}来储存他的期末考试成绩。则小明的总分是?

A.
s=0
for i in d.values():
    s=s+int(i)
print(s)
B.
s=0
s=sum((d.values())
print(s)
C.
s=0
while i<len(d):
    s=s+int(d.values())
print(s)
D.
s=0
for i in d():
        s=s+int(i.values())
    print(s)
判断题
第 26 题    判断题

以下程序的运行结果为  5    

a=6
b=5
if a>b:
    print(a)
else:
    print(b)
A.
正确
B.
错误
第 27 题    判断题

字典中的键和值必须用冒号隔开,同一个字典中的所有键都必须是唯一的

A.
正确
B.
错误
第 28 题    判断题

break语句执行后,将跳出程序所有的循环,程序结束.

A.
正确
B.
错误
第 29 题    判断题

表达式[3] in [1,2,3]的值为True.

A.
正确
B.
错误
第 30 题    判断题

Python语言用缩进来标识语句块,同一级语句块中的语句具有相同的缩进量.

A.
正确
B.
错误
第 31 题    判断题

s=(1,2,3,4,5),则执行s.remove(5)语句后,s的值是(1,2,3,4).

A.
正确
B.
错误
第 32 题    判断题

t=(1,2,3,4,2),则print(t.index(2))的运行结果为1

A.
正确
B.
错误
第 33 题    判断题

while语句只能用于未知次数的循环,for语句只能用于循环次数己知的循环.

A.
正确
B.
错误
第 34 题    判断题

在使用format()函数对字符串进行格式化时,参数索引从1开始.

A.
正确
B.
错误
第 35 题    判断题

已知Money=8.6675 , print("工资{0:.2f}".format(Money)),结果是:"工资8.67"

A.
正确
B.
错误
编程题
第 36 题    问答题

可以对任何一个自然数进行若干次运算,最终都可以变为1

运算规则如下:

1)若该数是偶数,则变为原数的一半;

2)若该数是奇数,则变为原数的3倍加1

3)重复(1)(2),直到该数变为1

编写程序实现如下功能:输入一个大于1的自然数,计算按照上述方法最终变换为1共经过的变换次数,并输出变换次数。(输出格式为:直接输出次数即可)

示例1:若输入自然数8,则输出结果为:3

示例2:若输入自然数5,则输出结果为:5

第 37 题    问答题

实现统计字符串中的单词和单词出现的次数:

要求如下:

1)统计的语句为:to be or not to be that is a question

2)要求统计该句中出现的所有单词和其出现次数。

3)使用字典进行输出,格式如下(注意:排列顺序可以不一致,但是统计的次数要正确):

{'to': 2, 'be': 2, 'or': 1, 'not': 1, 'is': 1, 'a': 1, 'question': 1, 'that': 1}

答题卡
选择题
判断题
编程题
36 37
题目总数:37
总分数:100
时间:90分钟