一、单选题
1、高级语言编写的程序需要经过以下()操作,可以生成在计算机上运行的可执行代码。(2023-6-sc四级)
A 编辑
B 保存
C 调试
D 编译
2、排序算法是稳定的(Stable Sorting),就是指排序算法可以保证,在待排序数据中有两个相等记录的关键字 R 和 S(R 出现在 S 之前),在排序后的列表中 R 也一定在 S 前。下面关于排序稳定性的描述,正确的是()。(2023-6-sc四级)
A 冒泡排序是不稳定的
B 插入排序是不稳定的
C 选择排序是不稳定的
D 以上都不正确
3、下列哪个选项可以判断 x 不等于 100 并且大于等于 60?()
A
B
C
D
4、默认小猫角色,输入一个三位数,希望程序输出这个三位数各个数位上的数字之和,下列代码中的“①”是?()
A
B
C
D
5、全班同学的成绩已经存储在列表“lst”中,小于 60 分为不及格,默认小猫角色,执行下列哪个程序可以让小猫说出不及格的人数?()
A
B
C
D
6、对存有 8 个元素的列表 [49, 38, 65, 97, 76, 13, 27, 50] 按从小到大的顺序进行排序,选择排序第一趟的排序结果是?()
A [13,38,65,97,76,49,27,50]
B [13,27,38,49,50,65,76,97]
C [97,76,65,50,49,38,27,13]
D [13,38,65,50,76,49,27,97]
7、当输入 x 为 5500 时,根据以下流程图 y 的值为?()
A 1
B 55
C 50
D 5.5
8、默认小猫角色,自定义一个判断质数的积木,其中“①”处应填入的条件是?()
A
B
C
D
9、默认小猫角色,执行下列程序,变量 result 的值是?()
A 4
B 6
C 7
D 9
10、默认小猫角色,执行下列程序,舞台上会出现几只小猫?()
A 4
B 5
C 3
D 6
11、默认小猫角色,若想绘制如下图形,下列代码中的“①、②”是?()
A 9、40
B 10、36
C 12、30
D 13、32
12、默认小猫角色,若想实现颠倒字符串,比如输入“apple”,小猫会说“elppa”,下列代码中的“①”是?()
A
B
C
D
13、默认小猫角色,执行下列程序,输入蝴蝶的英文单词“butterfly”,输出结果是()?
A uel
B try
C btf
D tf
14、默认小猫角色,执行下列程序,输出的结果是?()
A 7
B 8
C 9
D 10
15、默认小猫角色,执行下列程序,输出的结果是?()
A 笔记本
B 笔袋
C 铅笔
D 彩笔
二、判断题
16、域名是由一串用点分隔的名字来标识互联网上一个计算机或计算机组的名称,CCF编程能力等级认证官方网站的域名是 gesp.ccf.org.cn,其中顶级域名是 gesp。(2023-6-sc一级)
A 正确
B 错误
17、枚举算法是一种基于穷举搜索的算法,可以通过遍历所有可能的解来找到最终结果。
A 正确
B 错误
18、默认小猫角色,执行“摇号”程序,小猫说“选中你啦”的概率为 20%。
A 正确
B 错误
19、广播与变量都能起到在角色间传递信息的作用,广播与变量一样也可以设定作用范围为“适用于所有角色”或“仅适用于当前角色”。
A 正确
B 错误
20、默认小猫角色,执行下列代码,输入“王大鹏”后,角色会说“欢迎光临,王先生”。
A 正确
B 错误
21、默认小猫角色,执行下列代码,列表 lst 中从上到下分别为 1,3,5,7,9,11。
A 正确
B 错误
22、默认小猫角色,下列两段代码功能相同。
A 正确
B 错误
23、默认小猫角色,下面两段代码都能实现按下 a 键或者按下 b 键使角色旋转。
A 正确
B 错误
24、利用枚举算法可以从 1 到 100 中筛选出即能被 5 整除又能被 7 整除的整数,筛选出的整数个数为 3。
A 正确
B 错误
25、斐波那契数列指的是这样的一个数列 1,1,2,3,5,8,13,21,34,...这个数列从第 3 项开始,每一项都等于前两项之和。默认小猫角色,执行下列代码,可使小猫每隔 1 秒依次说出斐波那契数列的每一项。
A 正确
B 错误
三、实操题
26、密码合规检测
【题目描述】
网站注册需要有用户名和密码,默认小猫角色和白色背景,编写程序以检查用户输入密码的有效性。
(1)合法的密码只能由 a-z 之间 26 个字母(字母不区分大小写)、0-9 之间 10 个数字以及!@#$四个特殊字母构成。
(2)密码最短长度:6 个字符,密码最大长度:12 个字符。
(3)密码必须包含字母、数字和特殊字符,缺一不可。
【输入描述】
新建变量“lst”,用于存储待检测的密码。
如下图所示:
【输出描述】
新建列表“result”,用于存储合规的密码,存入顺序以“lst”列表中字符串的先后为序。
如下图所示:
【输入样例1】
lst = [seHJ12!@, sjdkffH$123, sdf!@^&12 HDH, 123&^YUhg@!]
【输出样例1】
result = [seHJ12!@, sjdkffH$123]
【输入样例2】
lst = [123!@#&^%ZAqaz, abc123ABC!@#, qaz123WSX!@#, 12QAqa!@, 12QAqa!@^&]
【输出样例2】
result = [abc123ABC!@#, qaz123WSX!@#, 12QAqa!@]
参考答案:根据题目描述,我们需要编写程序以检查用户输入密码的有效性。合法的密码只能由a-z之间26个字母(字母不区分大小写)、0-9之间10个数字以及!@#$四个特殊字母构成。密码最短长度:6个字符,密码最大长度:12个字符。密码必须包含字母、数字和特殊字符,缺一不可。首先,我们需要遍历待检测的密码列表lst,对于列表中的每一个密码,我们需要检查其是否满足密码的规则。具体的步骤如下:1. 首先,我们需要检查密码的长度是否在6到12个字符之间。如果不在这个范围内,我们可以直接排除这个密码。2. 然后,我们需要检查密码是否只包含a-z之间26个字母(字母不区分大小写)、0-9之间10个数字以及!@#$四个特殊字母。如果不是,我们也可以排除这个密码。3. 最后,我们需要检查密码是否同时包含字母、数字和特殊字符。如果不是,同样排除这个密码。对于符合密码规则的密码,我们可以将其添加到结果列表result中。
27、按身高排序
【题目描述】
默认小猫角色和白色背景。有两个列表,第一个列表“names”存储名字,第二个列表“heights”存储这组名字对应的身高,这些身高由互不相同的正整数组成。
请按身高由大到小排序,同时能够得到对应名字的列表“names”。
例如:
名字列表:names = [‘Emily’,’Michael’,’Sarah’]
身高列表:heights = [180,165,170]
按照身高由大到小排序后,Emily 最高,接着是 Sarah 和 Michael
最后得到的名字列 heights = [‘Emily’,’Sarah’,’Michael’]
【输入描述】
新建两个列表,“names”存储一组姓名,“heights”存储这组姓名对应的身高,这些身高是互不相同的正整数。
如下图所示:
【输出描述】
无需新建,仍用以前的列表“names”,存储按照身高由大到小排序后,对应的姓名。
如下图所示:
【输入样例1】
names = [‘Emily’,’Michael’,’Sarah’] heights = [180,165,170]
【输出样例1】
names = [‘Emily’,’Sarah’,’Michael’]
【输入样例2】
names = [‘Mary’,’John’,’Emma’,’Tom’] heights = [160,180,170,157]
【输出样例2】
names = [’John’,’Emma’,’Mary’,’Tom’]
参考答案:对于题目中给出的两个列表“names”和“heights”,我们可以使用Python的内置函数`zip()`和`sorted()`来按身高由大到小排序。首先,我们将这两个列表进行zip操作,得到一个元组列表,每个元组包含名字和对应的身高。然后,我们使用`sorted()`函数对这个元组列表进行排序,指定`key`参数为元组的第二个元素(即身高),并使用`reverse=True`参数表示降序排序。最后,我们使用`list()`函数将排序后的元组列表转换回名字列表。以下是具体的Python代码实现:```pythonnames = ['Emily', 'Michael', 'Sarah']heights = [180, 165, 170]# 使用zip将两个列表组合成一个元组列表name_height_pairs = list(zip(names, heights))# 使用sorted对元组列表进行排序sorted_pairs = sorted(name_height_pairs, key=lambda x: x[1], reverse=True)# 将排序后的元组列表转换回名字列表sorted_names = [name for name, height in sorted_pairs]print(sorted_names)```输出结果为:['Emily', 'Sarah', 'Michael']
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!