万卷网> GESP认证 >Python > 2024年9月CCF—GESP(Python三级)编程能力等级认证试卷

2024年9月CCF—GESP(Python三级)编程能力等级认证试卷
三级 2024 2025-02-20 17:33:08 102

一、单选题

1.

执行下面Python代码后,输出的结果是?( )

my_dict = {i: i for i in range(1, 6)}
del my_dict[3]
print(my_dict)
A.

{1: 1, 2: 2, 4: 4, 5: 5}

B.

{1: 1, 2: 2, 3: 3}

C.

{1: 1, 2: 2, 5: 5}

D.

{1: 1, 2: 2, 3: 4, 4: 5}

2.

执行下面Python代码后,输出的结果是?( )

words = ["apple", "banana", "cherry"]
vowels = 'aeiou'
result = []
for word in words:
	for char in word:
		if char in vowels:
			result.append(char)
print(result)


A.

[‘a’, ‘e’, ‘a’, ‘e’, ‘e’, ‘e’, ‘a’]

B.

[‘a’, ‘a’, ‘a’, ‘e’, ‘e’, ‘e’]

C.

[‘a’, ‘e’, ‘a’, ‘a’, ‘a’, ‘e’]

D.

[‘a’, ‘e’, ‘i’, ‘o’, ‘u’]

3.

执行下面Python代码后,输出的结果是?( )

set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = {3, 4, 5}
set4 = (set1 & set2) | (set2 & set3)
print(set4)
A.

{2, 3}

B.

{2, 3, 4}

C.

{3, 4}

D.

{1, 2, 3, 4, 5}

4.

执行下面Python代码后,不可能输出的结果是?( )

my_str = "1234554321"
my_list = list(my_str)
my_set = set(my_list)
print("".join(my_set))
A.

12345

B.

54321

C.

35421

D.

12544

5.

对于元组 t = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10),执行 t[::5] 将返回哪个子元组?

A.

(1, 6)

B.

(1, 2, 3, 4, 5)

C.

(6, )

D.

(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

6.

执行下面Python代码后,输出的结果是?( )

my_tuple = (1, 2, 3, 3, 2, 1)
print(my_tuple.index(2))


A.

出错,因为index方法需要两个参数

B.

4

C.

2

D.

1

7.

假设有一个集合 s = {1, 2, 3},以下哪个操作会添加元素 4 到集合中?()

A.

s.add(4)

B.

s.update(4)

C.

s.append(4)

D.

s.extend(4)

8.

如果要遍历字典my_dict中的所有项(键和值),应该使用如下哪种语句?( )

A.

for key in my_dict:

B.

for key, value in my_dict.items():

C.

for value in my_dict:

D.

for key, value in my_dict:

9.

对于列表 lst = [1, 2, 3, 4],执行以下哪个列表推导式可以得到 [1, 4, 9, 16]?( )

A.

[x*2 for x in lst]

B.

[x for x in lst if x > 2]

C.

[x**2 for x in lst]

D.

[x for x in range(len(lst))]

10.

据有关资料,山东大学于1972年研制成功DJL-1计算机,并于1973年投入运行,其综合性能居当时全国第三位。DJL-1计算机运算控制部分所使用的磁心存储元件由磁心颗粒组成,设计存贮周期为2μs(微秒)。那么该磁心存储元件相当于现代计算机的(2024.9-3)( )。

A.

内存

B.

磁盘

C.

CPU

D.

显示器

11.

下列表达式的值与其它三个选项不相等的是哪一个?( )

A.

(F) 16

B.

(15)8

C.

(15)10

D.

(1111)2

12.

在Python中,以下哪个方法可以用于去除字符串两端的空白字符?( )

A.

count()

B.

index()

C.

strip()

D.

remove()

13.

Python程序执行出现错误,不太常见的调试手段是(2024.9-3)( )。

A.

阅读源代码

B.

单步调试

C.

输出执行中间结果

D.

跟踪计算机执行的底层代码(如二进制机器码,汇编码)

14.

执行下面Python代码后,输入“CCF2024”输出的结果是?( )

w = input()
for x in w:
	if x == '0' or x == '2':
		continue
	else:
		w.replace(x, '&')
print(w)
A.

CCF2024

B.

&&&202&

C.

CCF&&&4

D.

&&&2024

15.

执行下面Python代码后,输出的结果是?( )

my_list = [1, 2, 3, 4, 5]
temp = [num for num in my_list if num % 2 == 0]
my_list.remove(temp[1])
print(my_list)


A.

[1, 2, 4, 5]

B.

[2, 3, 4, 5]

C.

[1, 3, 4, 5]

D.

[1, 2, 3, 5]

二、判断题

1.

用50元钱兑换面值为1元、2元、5元的纸币共25张。每种纸币不少于1张,问有多少种兑换方案。可以使用枚举的方法来求解这个问题。

A.正确 B.错误
2.

小杨最近开始学习C++编程,老师说C++是一门面向对象的编程语言,也是一门高级语言。(2024.9-3)( )

A.正确 B.错误
3.

在Python中,使用加法运算符 + 可以对两个字符串、列表、元组甚至是字典进行合并,即以下赋值语句都是合法的。

my_str = "ccf" + "2024"
my_list = [1, 2, 3] + [3, 4, 5]
my_tuple = (1, 2, 3) + (4,)
my_dict = {1: 'one', 2: 'two'} + {3: 'three'}
A.正确 B.错误
4.

Python代码 a = {} 被执行后,a的数据类型为dict。

A.正确 B.错误
5.

执行下列两段Python代码,输出的结果相同。

s = list("CCF-GESP")
i, j = 0, len(s) - 1
while i < j:
	s[i], s[j] = s[j], s[i]
	i += 1
	j -= 1
print("".join(s))
s = list("CCF-GESP")
s[:] = s[::-1]
print("".join(s))
A.正确 B.错误
6.

Python代码 print(“”.join(sorted(“GESP”))) 被执行后,输出为 ‘EGPS’ 。

A.正确 B.错误
7.

程序不一定满足有穷性,而算法必须满足有穷性的特征。

A.正确 B.错误
8.

执行语句 int(‘2b’,16) 后输出的结果是43。

A.正确 B.错误
9.

执行下列Python代码,输出的结果是 [“banana”, “orange”]。

my_set = set("banana")
my_list = list(my_set)
my_list.extend("orange")
print(my_list)


A.正确 B.错误
10.

Python代码 print(list(range(100))[::-2]) 被执行后,将从大到小输出所有0-100之间所有偶数,不含100。

A.正确 B.错误

三、编程题

1.

回文拼接

时间限制:1.0 s

内存限制:512.0 MB

题面描述

一个字符串是回文串,当且仅当该字符串从前往后读和从后往前读是一样的,例如,aabaa 和ccddcc 都是回文串,但abcd 不是。

小杨有n个仅包含小写字母的字符串,他想请你编写程序判断每个字符串是否由两个长度至少为2的回文串前后拼接而成。

输入格式

第一行包含一个正整数n,代表字符串数量。

之后n行每行一个仅包含小写字母的字符串。

输出格式

对于每个字符串输出一行,如果该字符串由两个长度至少为2的回文串前后拼接而成则输出Yes,否则输出No。


输入样例

4
abcd
aabbb
aaac
abcdd

输出样例

No
Yes
No
No

对于第1,3,4 个字符串,都不是由两个长度至少为2的回文串前后拼接而成。

第2个字符串由回文串aa 和bbb前后拼接而成,并且两个回文串长度都至少为2。

对于全部数据,保证有1≤n≤10,并且每个字符串的长度不超过100。

2.

平衡序列

时间限制:1.0 s

内存限制:512.0 MB

题面描述

小杨有一个包含n个正整数的序列a,他认为一个序列是平衡的当且仅当存在一个正整数i(1≤i<n) 使得序列第 1 个到第i个数字的总和等于第i+1个到第n个数字的总和。

小杨想请你判断序列a是否是平衡的。

输入格式

第一行包含一个正整数t,代表测试用例组数。

接下来是t组测试用例。对于每组测试用例,一共两行。

第一行包含一个正整数n,代表序列长度。

第二行包含n个正整数,代表序列a。

输出格式

对于每组测试用例,如果序列a是否是平衡的,输出 Yes,否则输出 No。


输入样例

3
3
1 2 3
4
2 3 1 4
5
1 2 3 4 5

输出样例

Yes
Yes
No

对于第一组测试用例,令i=2,则有1+2=3,因此序列是平衡的;

对于第二组测试用例,令i=2,则有2+3=1+4,因此序列是平衡的;

对于第三组测试用例,不存在满足要求的i。

对于全部数据,保证有 1≤t≤100 , 1<n,ai≤10000。

公众号
客服 反馈
顶部