一、单选题
1、某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。( )
A、
麦克风
B、
扬声器
C、 油量表
D、
传感器
2、现代计算机是指电子计算机,它所基于的是( )体系结构。(2023年12月四级)
A、
艾伦·图灵
B、 冯·诺依曼
C、
阿塔纳索夫
D、
埃克特-莫克利
3、下面有关Python的说法,错误的是( )。
A、 Python是适合初学者学习程序设计的低级程序设计语言
B、
在Python中一切皆对象
C、
Python是动态类型的程序设计语言
D、
Python是脚本型程序设计语言
4、下面有关 input() 函数的说法,正确的是( )。
A、
input() 函数在使用时,必须有参数,通常为字符串字面量
B、
input() 函数用于输入,可以输入任何字符,包括回车符
C、
input() 函数可以输入数值,包括浮点数和整数,正数或负数,可以通过 int() 函数将其转换为整数
D、 input() 函数在使用时,参数功能是提示,可以有,也可以没有
5、下面Python代码执行后,第4行输出是( )。
A、
[[1, 1, 1], [3, 3, 3]]
B、
[[0, 0, 0], [3, 3, 3]]
C、 [[1, 1, 1], [2, 2, 2]]
D、
[[0, 0, 0], [2, 2, 2]]
6、下面Python代码最后执行后最后一行输出是( )。
A、
9 109 99
B、
109 109 99
C、 109 109 100
D、
触发异常
7、Python代码 print([[i]*i for i in range(5)]) 执行后输出是( )。
A、 [[], [1], [2, 2], [3, 3, 3], [4, 4, 4, 4]]
B、
[[0], [1], [2, 2], [3, 3, 3], [4, 4, 4, 4]]
C、
[[1], [2, 2], [3, 3, 3], [4, 4, 4, 4]]
D、
[[1], [2, 2], [3, 3, 3], [4, 4, 4, 4], [5, 5, 5, 5, 5]]
8、下面Python代码执行后输出是( )。
A、
[1, 2, 3] [1, 2, 3]
B、 [1, 1, 2, 4, 3, 9] [1, 2, 3]
C、
[(1, 1), (2, 4), (3, 9)] [1, 2, 3]
D、
[(1, 1), (2, 4), (3, 9)] [(1, 1), (2, 4), (3, 9)]
9、Python内置函数 id() 返回值是数据在内存中地址值。下面Python代码执行,其输出是( )。
A、 True False
B、
False True
C、
True True
D、
False False
10、在Python中,对 list 类型 in 运算,其时间复杂度是( )。
A、 O(N)
B、
O(N2)
C、
O(1)
D、
O(NlogN)
11、下列Python表达式的值为 True 的是( )。
A、
bool(" ")
B、 bool([])
C、
bool(())
D、
bool({})
12、在如下Python代码中,假设变量 zen 代表很多字符此处仅为示例,代码实现按字母频次升序,如频次相同则按字符ASCII降序输出,横线处应填入是( )。
A、
alphaCount, key = lambda x:(x[1],ord(x[0]))
B、
alphaCount, key = lambda x:(x[0],x[1])
C、
alphaCount.items(), key = lambda x:(x[0],x[1])
D、 alphaCount.items(), key = lambda x:(x[1],-ord(x[0]))
13、下面Python代码执行后生成的文件其字节数为( )。
A、
10
B、
20
C、
21
D、 22
14、下列Python代码执行时如果输入 1,2,3,4,0 ,将输出的是( )。
A、
1#5#
B、
1#4#
C、
2#5#
D、 2#4#5#
15、以下Python代码用于实现每个整数对应的因数,如 {12: [1, 2, 3, 4, 6, 12],18: [1, 2, 3, 6, 9,18]} ,横线处应填入代码是( )。
A、
Factor.get(i, [None]) + [j]
B、
Factor.get(i, []) + j
C、
Factor.get(i, None) + j
D、 Factor.get(i, []) + [j]
二、判断题
16、小杨最近在准备考GESP,他用的Python IDLE来练习和运行程序,所以Python IDLE也是一个小型操作系统。( )(2023年12月四级)
A 正确
B 错误
17、任何一个 while 循环都可以转化为等价的 for 循环( )。
A 正确
B 错误
18、Python的内置函数 sorted() 支持对 list 、 tuple 、 str 排序,但不支持 dict 和 set 。( )
A 正确
B 错误
19、当对 dict 或 set 类型数据执行 in 运算时,其时间复杂度为 。( )
A 正确
B 错误
20、[(1,2)*2]*3 在Python中是合法的表达式。( )
A 正确
B 错误
21、在 with 中打开文件时,如果显式关闭文件,将导致异常,因为 with 将能自动关闭文件,因此下列Python代码执行将触发异常。 ( )
A 正确
B 错误
22、某文本文件第1行由 01234 共5个字符组成其间没有空格,当用Python代码正常打开文件成功并执行文件读取函数 readlines() 后,第1行长度为5( )
A 正确
B 错误
23、Python的 tuple 类型不可以被修改,因此在 list 之中可以包含 tuple 类型数据,但不可以在 tuple 之中包含 list 类型。( )
A 正确
B 错误
24、在Python中,两个集合相加的运算符为 + 相当于集合的并集运算,如果两个集合中有相同的成员,将自动去重。下面Python代码执行后,将输出6。( )
A 正确
B 错误
25、Python内置函数 sorted() 可以将 list 、 str 、 tuple 、 set 以及其他很多支持 for-in 类型的数据排序,不管被排序类型如何,其排序结果均为 list 类型,且对被排序数据没有影响。( )
A 正确
B 错误
三、实操题
26、小杨的字典
时间限制: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
参考答案:根据题目描述,我们需要编写一个程序来翻译一段A语言文章。程序首先读取字典中的单词和对应的B语言翻译,然后读取需要翻译的A语言文章。在翻译过程中,程序会将A语言文章中的每个单词替换成它的B语言翻译,如果遇到不在字典中的单词,则使用UNK来替换。具体实现过程如下:1. 读取字典中的单词和对应的B语言翻译,构建一个哈希表,方便后续查找。2. 读取需要翻译的A语言文章,将文章按照标点符号分割成单词。3. 遍历每个单词,如果单词在哈希表中存在,则将其替换成对应的B语言翻译;否则,将其替换成UNK。4. 将翻译后的单词按照原文章中的顺序拼接起来,得到翻译后的结果。
27、田忌赛马
时间限制: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
参考答案:根据题目描述,我们需要找到一种排兵布阵的方法,使得我们能赢得最多的比赛。由于田忌的马匹会按顺序派出,我们可以按照速度从大到小的顺序排列自己的马匹,这样每次比赛时,我们都可以派出当前速度最快的马匹迎战田忌的马匹。具体步骤如下:1. 将自己的马匹按照速度从大到小排序,得到一个新的马匹速度数组。2. 遍历田忌的马匹,每次派出当前速度最快的马匹迎战。3. 记录获胜的轮次,最后输出获胜的轮次数。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!