2023年12月CCF—GESP(Python四级)编程能力等级认证试卷
剩余时间 --:--:--
单选题 共 15 题
1.

以下Python代码用于实现每个整数对应的因数,如 {12: [1, 2, 3, 4, 6, 12],18: [1, 2, 3, 6, 9,18]} ,横线处应填入代码是(   )。

2.

下面Python代码执行后输出是(   )。

3.

下面Python代码执行后,第4行输出是(   )。

4.

Python代码 print([[i]*i for i in range(5)]) 执行后输出是(   )。

5.

下列Python表达式的值为 True 的是(   )。

6.

下面Python代码执行后生成的文件其字节数为(   )。

7.

在如下Python代码中,假设变量 zen 代表很多字符此处仅为示例,代码实现按字母频次升序,如频次相同则按字符ASCII降序输出,横线处应填入是(   )。

8.

下面有关 input() 函数的说法,正确的是(   )。

9.

下列Python代码执行时如果输入 1,2,3,4,0 ,将输出的是(   )。

10.

在Python中,对 list 类型 in 运算,其时间复杂度是(   )。

11.

下面Python代码最后执行后最后一行输出是(   )。

12.

Python内置函数 id() 返回值是数据在内存中地址值。下面Python代码执行,其输出是(   )。

13.

现代计算机是指电子计算机,它所基于的是(   )体系结构。(2023年12月四级)

14.

某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。(   )

15.

下面有关Python的说法,错误的是(   )。

判断题 共 10 题
1.

Python的 tuple 类型不可以被修改,因此在 list 之中可以包含 tuple 类型数据,但不可以在 tuple 之中包含 list 类型。(   )

2.

当对 dict 或 set 类型数据执行 in 运算时,其时间复杂度为 。(   )

3.

小杨最近在准备考GESP,他用的Python IDLE来练习和运行程序,所以Python IDLE也是一个小型操作系统。(   )(2023年12月四级)

4.

Python内置函数 sorted() 可以将 list 、 str 、 tuple 、 set 以及其他很多支持 for-in 类型的数据排序,不管被排序类型如何,其排序结果均为 list 类型,且对被排序数据没有影响。(   )

5.

在Python中,两个集合相加的运算符为 + 相当于集合的并集运算,如果两个集合中有相同的成员,将自动去重。下面Python代码执行后,将输出6。(   )

6.

任何一个 while 循环都可以转化为等价的 for 循环(   )。

7.

在 with 中打开文件时,如果显式关闭文件,将导致异常,因为 with 将能自动关闭文件,因此下列Python代码执行将触发异常。 (   )

8.

某文本文件第1行由 01234 共5个字符组成其间没有空格,当用Python代码正常打开文件成功并执行文件读取函数 readlines() 后,第1行长度为5(   )

9.

[(1,2)*2]*3 在Python中是合法的表达式。(   )

10.

Python的内置函数 sorted() 支持对 list 、 tuple 、 str 排序,但不支持 dict 和 set 。(   )

编程题 共 2 题
1.

田忌赛马

时间限制:1.0 s

内存限制:128.0 MB

问题描述

你要和田忌赛马。你们各自有N匹马,并且要进行N轮比赛,每轮比赛,你们都要各派出一匹马决出胜负。

你的马匹的速度分别为u1,u2,…,uN,田忌的马匹的速度分别为v1,v2,…,vN。田忌会按顺序派出他的马匹,请问你要如何排兵布阵,才能赢得最多轮次的比赛?巧合的是,你和田忌的所有马匹的速度两两不同,因此不可能出现平局。

输入描述

第一行一个整数N。保证1≤N≤5×104。

接下来一行N个用空格隔开的整数,依次为u1,u2,…,uN,表示你的马匹们的速度。保证1≤ui≤2N。

接下来一行N个用空格隔开的整数,依次为v1,v2,…,vN,表示田忌的马匹们的速度。保证1≤vi≤2N。

输出描述

输出一行,表示你最多能获胜几轮。

特别提醒

在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。


样例输入 1

3
1 3 5
2 4 6

样例输出 1

2

样例解释 1

第 1 轮,田忌派出速度为2的马匹,你可以派出速度为3的马匹迎战,本轮你获胜。

第 2 轮,田忌派出速度为4的马匹,你可以派出速度为6的马匹迎战,本轮你获胜。

第 3 轮,田忌派出速度为6的马匹,你可以派出速度为2的马匹迎战,本轮田忌获胜。

如此,你可以赢得 2 轮比赛。


样例输入 2

5
10 3 5 8 7
4 6 1 2 9

样例输出 2

5
2.

小杨的字典

时间限制:1.0 s

内存限制:128.0 MB

问题描述

在遥远的星球,有两个国家 A 国和 B 国,他们使用着不同的语言:A 语言和 B 语言。小杨是 B 国的翻译官,他的工作是将 A 语言的文章翻译成 B 语言的文章。

为了顺利完成工作,小杨制作了一本字典,里面记录了N个 A 语言单词对应的 B 语言单词,巧合的是,这些单词都由地球上的 26 个小写英文字母组成。

小杨希望你写一个程序,帮助他根据这本字典翻译一段 A 语言文章。这段文章由标点符号 !()-[]{}\|;:'",./?<> 和一些 A 语言单词构成,每个单词之间必定由至少一个标点符号分割,你的程序需要把这段话中的所有 A 语言单词替换成它的 B 语言翻译。特别地,如果遇到不在字典中的单词,请使用大写 UNK 来替换它。

例如,小杨的字典中包含 2 个 A 语言单词 abc 和 d ,它们的 B 语言翻译分别为 a 和 def ,那么我们可以把 A语言文章 abc.d.d.abc.abcd. 翻译成 B 语言文章 a.def.def.a.UNK. ,其中,单词 abcd 不在词典内,因此我们需要使用 UNK 来替换它。

输入描述

第一行一个整数N,表示词典中的条目数。保证N≤100。

接下来N行,每行两个用单个空格隔开的字符串A,B,分别表示字典中的一个 A 语言单词以及它对应的 B 语言翻译。保证所有A不重复;保证A和B的长度不超过10。

最后一行一个字符串S,表示需要翻译的 A 语言文章。保证字符串S的长度不超过1000,保证字符串S只包含小写字母以及标点符号 !()-[]{}\|;:'",./?<> 。

输出描述

输出一行,表示翻译后的结果。

特别提醒

在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。


样例输入 1

2
abc a
d def
abc.d.d.abc.abcd.

样例输出 1

a.def.def.a.UNK.

样例输入 2

3
abc a
d def
abcd xxxx
abc,(d)d!-abc?abcd

样例输出 2

a,(def)def!-a?xxxx

样例输入 3

1
abcdefghij klmnopqrst
!()-[]{}\|;:'",./?<>abcdefghijklmnopqrstuvwxyz

样例输出 3

!()-[]{}\|;:'",./?<>UNK
C++ 编辑器
输入
输出