2024年06月CCF-GESP编程能力等级认证Python编程四级真题解析

news2024/9/25 17:13:57

本文收录于专栏《Python等级认证CCF-GESP真题解析》,专栏总目录:点这里,订阅后可阅读专栏内所有文章。

一、单选题(每题 2 分,共 30 分)

第 1 题

小杨父母带他到某培训机构给他报名参加CCF组织的GESP认证考试的第1级,那他可以选择的认证语言有几种?( )
A. 1
B. 2
C. 3
D. 4

答案:C

第 2 题

下面流程图在yr输入2024时,可以判定yr代表闰年,并输出 2月是29天 ,则图中菱形框中应该填入( )。
在这里插入图片描述

A. (yr%400==0) || (yr%4==0)
B. (yr%400==0) || (yr%4==0 && yr%100!=0)
C. (yr%400==0) && (yr%4==0)
D. (yr%400==0) && (yr%4==0 && yr%100!=0)

答案:B

第 3 题

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

name = ('Tom', 'Join', 'Gaia')
age = (10, 13, 12)
print({(a.upper(), b) for a, b in zip(name, age)})

A. {‘Tom’: 10, ‘Join’: 13, ‘Gaia’: 12}
B. {‘TOM’: 10, ‘JOIN’: 13, ‘GAIA’: 12}
C. {(‘JOIN’, 13), (‘TOM’, 10), (‘GAIA’, 12)}
D. {(‘Join’, 13), (‘Tom’, 10), (‘Gaia’, 12)}

答案:C

第 4 题

函数fun的定义如下,调用该函数的语句错误的是?( )

def fun(x, y, z=3):
	print(x, y, z)

A. fun(1, 2, 3)
B. fun(1, 2)
C. fun(y=2, x=1)
D. fun(1, y=2, 3)

答案:D

第 5 题

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

def fun(x, y, *nums):
	res = x + y
	for i in nums:
		res += i
	return res
	
print(fun(10, 20, 15, 25, 30))

A. 30
B. 45
C. 100
D. 语法错误

答案:C

第 6 题

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

def fun(x, y, **kwargs):
	res = x + y
	for i in kwargs.values():
		res += i
	return res
	
print(fun(10, 20, A=6, B=1, C=3))

A. 40
B. 36
C. 30
D. 语法错误

答案:A

第 7 题

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

def add():
	count = 1
	def fun():
		nonlocal count
		print(count, end="#")
		count += 2
		
	return fun
	
a = add()
a()
a()

A. 1#3#
B. 1#1#
C. 3#3#
D. add函数语法错误

答案:A

第 8 题

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

s = 1

def sums(n):
	global s
	s = 0
	s = s + n
	print(s, end="#")
	
sums(5)
print(s, end="#")

A. 5#5#
B. 5#1#
C. 1#1#
D. 1#5#

答案:A

第 9 题

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

def add(c):
	d = c.append(40)
	return d
	
a = [10, 20, 30]
b = add(a)
print(a, b)

A. [10, 20, 30] [10, 20, 30]
B. [10, 20, 30, 40] [10, 20, 30, 40]
C. [10, 20, 30] [10, 20, 30, 40]
D. [10, 20, 30, 40] None

答案:D

第 10 题

在一个农场上,有一头母牛。根据农场的规则,这头母牛每年年初都会生出一头小母牛。每头新生的小母牛从它们出生的第四个年头开始,也会每年年初生出一头新的小母牛。假设没有母牛死亡,并且每头母牛都严格遵循这个规则。下列程序用来计算在第 年时,农场上共有多少头母牛,其中横线处填写的代码为?()

lst = [0] * 100
lst[1:4] = [1, 2, 3, 4]

def calculate_cows(n):
	if n <= 4:
		return lst[n]
	i = 5
	while i <= n:
		lst[i] = __________
		i += 1
	return lst[i - 1]

A. lst[i - 1] + lst[i - 3]
B. lst[i - 2] + lst[i - 3]
C. lst[i - 1] + lst[i - 2]
D. lst[-1] + lst[-3]

答案:A

第 11 题

程序段如下:

def fun(arr: list):
	n = len(arr)
	for i in range(n - 1):
		for j in range(0, n - i - 1):
			if arr[j] > arr[j + 1]:
				arr[j], arr[j + 1] = arr[j + 1], arr[j]

其中,n为正整数,则该段程序的最坏时间复杂度是?( )
A. O ( n ) O(n) O(n)
B. O ( 2 n ) O(2n) O(2n)
C. O ( n 3 ) O(n^3) O(n3)
D. O ( n 2 ) O(n^2) O(n2)

答案:D

第 12 题

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

users = [
	{"name": "Tom", "skills": {"Python", "Java", "C++"}},
	{"name": "Join", "skills": {"Python", "Java"}},
	{"name": "Gaia", "skills": {"Java", "C++", "SQL"}}
]

skills_sets = (user['skills'] for user in users)
common_skills = set.intersection(*skills_sets)
print(common_skills)

A. {‘Java’, Python’}
B. {SQL’, ‘C++’}
C. {‘Java’, ‘SQL’, ‘Python’, ‘C++’}
D. {‘Java’}

答案:D

第 13 题

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

lst = [1, 4, 3, 5, 2]
lst = [i[0] for i in sorted(enumerate(lst), key=lambda x: x[1])]
print(lst)

A. [3, 1, 2, 4, 0]
B. [0, 4, 2, 1, 3]
C. [3, 0, 2, 1, 4]
D. [0, 3, 2, 4, 1]

答案:B

第 14 题

执行下面Python代码后,文件ip.txt中的内容用记事本打开时显示为?( )

with open("ip.txt", "w") as f:
	lst = ["202.206.224.21\n", "192.168.224.1\n"]
	f.writelines(lst)

A. 202.206.224.21192.168.224.1
B. 202.206.224.21
192.168.224.1
C. 202.206.224.21\n192.168.224.1
D. 202.206.224.21\n192.168.224.1\n

答案:B

第 15 题

执行下面Python代码,输入0和字符串“abc”后,输出的结果是?( )

try:
	a = int(input())
	b = int(input())
	x = a / b
	print(x, end="#")
except ZeroDivisionError:
	print(0, end="#")
except:
	print(1, end="#")
else:
	print(2, end="#")
finally:
	print(3, end="#")

A. 0#2#3#
B. 0#3#
C. 1#2#3#
D. 1#3#

答案:D

二、判断题(每题 2 分,共 20 分)

第 16 题

GESP测试是对认证者的编程能力进行等级认证,同一级别的能力基本上与编程语言无关。( )

答案:正确

第 17 题

在Python中,print(list(“GESP”))执行后输出[‘G’, ‘E’, ‘S’, ‘P’]。( )

答案:正确

第 18 题

执行下面Python代码后,输出两个True。

print("h" in "hello")
print("he" in "hello")

答案:正确

第 19 题

执行下面Python代码后,输出两个True。

lst1 = [1, 2, 3]
lst2 = lst1[:]
print(lst1 == lst2, lst1 is lst2)

答案:错误

第 20 题

执行下面Python代码,调用函数fun可以得到一个元组类型的数据。

def fun(a, b):
	return a // b, a % b
	
print(type(fun(8, 5)))

答案:正确

第 21 题

Python程序中,全局变量与局部变量不允许重名。

答案:错误

第 22 题

下面这段程序的时间复杂度为平方阶 O ( n 2 ) O(n^2) O(n2)。( )

def fun(n):
	sum1 = 0
	for i in range(n):
		sum1 += i

答案:错误

第 23 题

Python在处理程序异常时,异常处理结构能够发现程序段中的语法错误。

答案:错误

第 24 题

要打开一个已经存在的图片文件并读取但不修改数据,则打开模式应该设定为rb。

答案:正确

第 25 题

执行下面Python代码后,输出的结果为za。

print(max('az', 'za', key=lambda a: a[0]))

答案:正确

三、编程题(每题 25 分,共 50 分)

第 26 题

试题名称:黑白方块
时间限制:1.0 s
内存限制:512.0 MB
题面描述
小杨有一个 n n n m m m 列的网格图,其中每个格子要么是白色,要么是黑色。
对于网格图中的一个子矩形,小杨认为它是平衡的当且仅当其中黑色格子与白色格子数量相同。
小杨想知道最大的平衡子矩形包含了多少个格子。
输入格式
第一行包含两个正整数 n , m n,m n,m,含义如题面所示。
之后 n n n 行,每行一个长度为 m m m 01 01 01 串,代表网格图第 i i i 行格子的颜色,如果为 0 0 0,则对应格子为白色,否则为黑色。
输出格式
输出一个整数,代表最大的平衡子矩形包含格子的数量,如果不存在则输出 0 0 0
样例1

4 5
00000
01111
00011
00011
16

样例解释
对于样例1,假设 ( i , j i,j i,j ) 代表第 i i i 行第 j j j 列,最大的平衡子矩形的四个顶点分别为 (1,2),(1,5),(4,2),(4,5)。
数据范围
对于全部数据,保证有 1 ≤ n , m ≤ 10 1 ≤ n, m ≤ 10 1n,m10
参考程序

N = 55
w = [[0] * N for _ in range(N)]

def check(xa, ya, xb, yb):
	a = [0, 0]
	for i in range(xa, xb + 1):
		for j in range(ya, yb + 1):
			a[w[i][j]] += 1
	return a[0] == a[1]

def main():
	n, m = map(int, input().split())
	for i in range(1, n + 1):
		s = input()
		for j in range(1, m + 1):
			w[i][j] = int(s[j - 1])
	ans = 0
	for i in range(1, n + 1):
		for j in range(1, m + 1):
			for ii in range(i, n + 1):
				for jj in range(j, m + 1):
					if check(i, j, ii, jj):
						ans = max(ans, (ii - i + 1) * (jj - j + 1))
	print(ans)

if __name__ == "__main__":
main()

第 27 题

试题名称:宝箱
时间限制:1.0 s
内存限制:512.0 MB
题面描述
小杨发现了 n n n 个宝箱,其中第 i i i 个宝箱的价值是 a i a_i ai
小杨可以选择一些宝箱放入背包并带走,但是小杨的背包比较特殊,假设小杨选择的宝箱中最大价值为 x x x,最小价值为 y y y,小杨需要保证 x − y ≤ k x - y ≤ k xyk,否则小杨的背包会损坏。
小杨想知道背包不损坏的情况下,自己能够带走宝箱的总价值最大是多少。
输入格式
第一行包含两个正整数 n , k n,k n,k,含义如题面所示。
第二行包含 n n n 个正整数 a 1 , a 2 , . . . , a n a_1,a_2,...,a_n a1,a2,...,an,代表宝箱的价值。
输出格式
输出一个整数,代表带走宝箱的最大总价值。
样例1

5 1
1 2 3 1 2
7

样例解释
在背包不损坏的情况下,小杨可以拿走两个价值为 2 2 2 的宝箱和一个价值为 3 3 3 的宝箱。
数据范围
对于全部数据,保证有 1 ≤ n ≤ 1000 , 0 ≤ k ≤ 1000 , 1 ≤ a i ≤ 1000 1 ≤ n ≤ 1000, 0 ≤ k ≤ 1000, 1 ≤ a_i ≤ 1000 1n1000,0k1000,1ai1000
参考程序

N = 1010
a = [0] * N

def main():
	n, k = map(int, input().split())
	aa = input().split()
	for i in range(1, n + 1):
		a[i] = int(aa[i-1])
	a[1:n + 1] = sorted(a[1:n + 1])
	ans = 0
	for i in range(1, n + 1):
		sum = 0
		for j in range(i, 0, -1):
			if a[i] - a[j] <= k:
				sum += a[j]
			else:
				break
		ans = max(ans, sum)
	print(ans)
	
if __name__ == "__main__":
	main()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1909961.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

盛水对多容器、判断子序列-双指针题型

11. 盛最多水的容器 - 力扣&#xff08;LeetCode&#xff09; 双指针两头向里移动&#xff0c;短的先动&#xff1b; class Solution { public:int maxArea(vector<int>& height) {int l 0, r height.size() - 1;int ans 0;while(l < r){int area min(height…

阿里云登陆Centos7

用自己电脑登陆Centos7太麻烦了&#xff0c;还要自己弄个虚拟机&#xff0c;一个电脑里面既有WIN又有LINUX&#xff0c;索性直接买个阿里云服务器&#xff0c;来学习Centos7。 购买 我是新用户&#xff0c;可以试用3个月&#xff0c;先用个3个月再说哈哈哈。 一系列操作之后…

(硬件05)电流检测中运放的“虚短”与“虚断”

本文目录 本篇前言知识点讲解软件仿真 本篇前言 运放&#xff0c;全称是运算放大器&#xff0c;一般的用法是用来发大电信号的&#xff0c;本篇讲解到的就是通过运算放大器将大电流流过采样电阻后的电压进行放大后输出给单片机的ADC&#xff0c;单片机根据ADC的值&#xff08…

无人机之穿越机操作技巧篇

一、低高度练习 选择低高度进行飞行练习&#xff0c;这样即使操作失误&#xff0c;也能减少飞行器受损的风险。 二、平稳起降 在起飞和降落时&#xff0c;要控制好飞行器的垂直状态&#xff0c;避免因为操作不当导致飞行器倾斜甚至坠机。 三、画圆飞行 通过水平面上的圆形…

提高LabVIEW软件通用性的方法

提高LabVIEW软件通用性的方法 在使用LabVIEW开发软件时&#xff0c;提高软件的通用性非常重要。通用性意味着软件可以在不同的应用场景中使用&#xff0c;具备高度的适应性和灵活性&#xff0c;从而提高软件的价值和用户满意度。以下从多个角度详细探讨如何提高LabVIEW软件的通…

第16周:LSTM-火灾温度预测

目录 前言 一、LSTM简介 1.1 LSTM的本质 1.2 LSTM的提出 1.3 LSTM的原理 1.3.1 RNN原理介绍 1.3.2 LSTM原理介绍 二、前期准备 2.1 导入库、设置GPU 2.2 导入数据 2.3 构建数据集 2.3.1 数据集预处理 2.3.2 设置X&#xff0c;y 2.3.3 缺失值检测 2.3.4 划分数据…

数据分析师技术和必备知识汇总-----Excle-----持续更新

数据分析师技术和必备知识汇总-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/140174015 文章目录 一、数据清洗1. 去除空格2. 字符串拼接3. 字符串截取4. 替换函数5. 求长度6. 相对引用和绝对引用7. 查找函数和排名…

单链表详解(2)

三、函数定义 查找节点 //查找结点 SLTNode* SLTNodeFind(SLTNode* phead, SLTDataType x) {assert(phead);SLTNode* pcur phead;while (pcur){if (pcur->data x){return pcur;}pcur pcur->next;}return NULL; } 查找节点我们是通过看数据域来查找的&#xff0c;查…

什么?这动物图片可以上国家地理?

stable difussion中大部分的模型都是关于人的,今天交给大家一些不一样的:如何生成动物图片。在这篇文章中我们将会学到如何生成逼真的动物&#xff0c;可爱的动物&#xff0c;还有幻想中的动物。 准备工作 当然前提是你需要一个SD的软件&#xff0c;你可以用本地的SD webUI或…

高清图片压缩无水印小程序源码系统 前后端分离 带完整的安装代码包以及搭建教程

系统概述 在当今的数字化时代&#xff0c;图片作为信息传播的重要载体&#xff0c;其质量和传输效率直接影响到用户体验。然而&#xff0c;高清图片往往伴随着较大的文件体积&#xff0c;这不仅会占用大量存储空间&#xff0c;还会拖慢网页或应用的加载速度。因此&#xff0c;…

【VUE基础】VUE3第七节—Vue Router路由基础

Vue Router 是 Vue 官方的客户端路由解决方案。 客户端路由的作用是在单页应用 (SPA) 中将浏览器的 URL 和用户看到的内容绑定起来。当用户在应用中浏览不同页面时&#xff0c;URL 会随之更新&#xff0c;但页面不需要从服务器重新加载。 Vue Router 基于 Vue 的组件系统构建&…

代码随想录-Day55

42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff1a;上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高…

【VS2019】安装下载库HtmlAgilityPack,可解析 HTML (图文详情)

目录 0.背景 1.环境 2.详细步骤 0.背景 项目需要&#xff0c;搭建WCF服务&#xff0c;需求是输入一个string类型字符串&#xff08;网页代码&#xff0c;如<html><body><p>Hello, <b>World</b>!</p></body></html>&#xf…

[嵌入式 C 语言] 按位与、或、取反、异或

一、按位与 & 有0则0&#xff0c;全1则11010 & 0011 00100xef & 0xfe 0xee &#xff08; 0x1110 1111 & 0x1111 1110 0x1110 1110&#xff09; 若协议中如下图所示&#xff1a; 1.1 配合左移运算符 << 取指定的位 说明&#xff1a;DEC表示十进制、…

原生APP开发的优势

原生APP开发是指使用特定的编程语言和开发工具&#xff0c;针对特定的操作系统平台进行开发的应用程序。相比于混合开发和Web开发&#xff0c;原生APP开发具有以下优势。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1. 性能更优 原…

echartsBug-dataZoom拖拽无效果

项目情况&#xff1a;"vue": "3.2.4",使用vue2语法开发 遇到问题&#xff1a;想要给图表增加dataZoom,但是拉拽的时候不生效 解决方法&#xff1a; 这个情况同样也会发生在tooltip不生效上。 之前的写法是将myChart定义在data()之中&#xff0c;但是无效…

怎么用js语句动态调整 .jstree.jstree-2.jstree-default 高度

&#x1f3c6;本文收录于《CSDN问答解惑》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&…

PHP全民投票微信小程序系统源码

&#x1f5f3;️【全民参与的力量】全民投票系统小程序&#xff0c;让决策更民主&#xff01; &#x1f310; 一键启动&#xff0c;全民参与 全民投票系统小程序&#xff0c;是连接每一个声音的高效桥梁。只需简单几步&#xff0c;即可在线发起投票活动&#xff0c;无论是社区…

java基础01—根据源码分析128陷阱以及如何避免128陷阱

源码分析128陷阱 如上图所示&#xff0c;int类型数据超过127依旧能正常比较&#xff0c;但Integer类型就无法正确比较了 /*** Cache to support the object identity semantics of autoboxing for values between* -128 and 127 (inclusive) as required by JLS.** The cache …

vue3在defineProps中使用多语言t,打包报错

报错原因 代码如下 打包后就会报错 defineProps() in script setup cannot reference locally declared variables because it will be hoisted outside of the setup() function. If your component options require initialization in the module scope, use a separate no…