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

本文收录于专栏《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()

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前端视角下的Spring-Boot语法学习:打印 hello-world

今日话题 基于 Spring Boot 打印输出 hello world 作者&#xff1a;云层上的光 时间&#xff1a;2024年6月20日 14时25分14秒 主线任务 一、打印 hello world 1、点击 “新建项目”用来演示 打印输出 “hello world” 2、填写项目配置&#xff1a;&#xff08;详细版见&a…

Python基础知识——(002)

文章目录 P8——7. input函数的使用 基本的输入函数input P9——8. Python中的注释 P10——9. Python中的缩进与本章总结 本章总结 P11——10. 章节习题 P8——7. input函数的使用 基本的输入函数input 语法结构&#xff1a; x input(提示文字) 注意事项&#xff1a;无论输…

【matlab】【python】爬虫实战

目录 引言 具体步骤 1.设置请求选项 2.发送请求并获取响应 3.设置正则表达式 4.执行正则表达式匹配 matlab完整代码 python代码示例 引言 在当今这个信息爆炸的时代&#xff0c;数据已成为推动社会进步和企业发展的核心动力之一。随着互联网的普及和技术的飞速发展&am…

前端视角下的Spring-Boot语法学习:demo-crud 实现增删改查

今日话题 基于 Spring Boot 实现增删改查&#xff0c;仅仅只是提供接口不涉及数据库增删改查 作者&#xff1a;云层上的光 时间&#xff1a;2024年6月21日 15时19分14秒 主线任务 一、项目创建 1、基于 idea 创建项目 2、选择项目依赖 Spring Web 二、实现增删改查 1、新…

Pix4Dmapper:无人机测绘的革命性工具

在现代测绘和地理信息系统&#xff08;GIS&#xff09;领域&#xff0c;Pix4Dmapper无疑是一款革命性的工具。作为一名长期使用这款软件的用户&#xff0c;我深深感受到它在工作中的重要性和便利性。Pix4Dmapper不仅仅是一款软件&#xff0c;更是测绘工作者的得力助手&#xff…

Selenium 的基本操作你知道哪些?

1. 前言 今天的推文&#xff0c;我们就来说说看&#xff0c;怎么实现模拟真人去打开微信读书网站。 2.需求分析和准备 整体的需求大致可以分为以下步骤&#xff1a; 打开chrome浏览器 打开百度网页 搜索“微信读书” 点击进入“微信读书”官网 搜索关键词“长安的荔枝” 点…

2023.2版IDEA复制配置修改端口增加一个当前运行服务的操作流程

文章目录 前言操作流程截图 前言 在微服务技术学习中很多学习场景会使用到运行多个服务节点进行调试&#xff0c;想要去模拟集群部署&#xff0c;就需要去复制配置&#xff0c;本文讲解一下如何复制&#xff0c;以及修改端口号。 操作流程截图

现代化木工装备建设新颖校园木工创客室

校园木工创客室是一个集木工制作、创意设计、科技融合与教育实践于一体的多功能空间。它为学生提供了一个动手实践、创新创造的平台&#xff0c;旨在培养学生的动手能力、创新思维、解决问题的能力以及团队协作能力。 木工创客室的设备选择应综合考虑需求、预算、品牌、质量、安…

Git常用技能速成

文章目录 一.版本控制二.提交并推送代码三.提交推送代码 一.版本控制 接下来&#xff0c;我们就需要对我们的功能进行优化&#xff0c;但是需要说明的是&#xff0c;我们不仅仅要对上述提到的缓存进行优化&#xff0c;还需要对我们程序的各个方面进行优化。我们本章节主要是针…

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…

自定义波形图View,LayoutInflater动态加载控件保存为本地图片

效果图: 页面布局: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="…

关于 RK3588刷镜像升级镜像”没有发现设备“ 的解决方法

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/140287339 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…

js吸顶导航

吸顶导航 当我们浏览页面篇幅较大&#xff0c;浏览过半的时候想回到导航位置&#xff0c;只能通过往回滚动或通过”回到顶部”重新滚动到导航位置&#xff0c;这样的操作显得繁琐与不便。于是便有了吸顶式导航的交互方式&#xff0c;吸顶条导航最大的好处是将最常用或者设计者最…

命名空间namespace--c++入门基础等

个人主页点这里~ 1.命名空间-namespace 简介 &#xff1a;在C/C中&#xff0c;变量、函数和后面要学到的类都是大量存在的&#xff0c;这些变量、函数和类的名称将都存在于全局作用域中&#xff0c;可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化&#xf…

DataExcelServer局域网文件共享服务器增加两个函数

1、PFSUM合并指定路径下单元格ID的值 PFSUM("/103采购/8月采购名细","amount") 第一个参数为路径&#xff0c;第二个参数为单元格的ID 2、PFQuery 查询路径下 单元格ID值的列表 PFQuery("/103采购/8月采购名细","amount") 查询/103采…

在Mac上一键安装Mysql(解决所有安装问题)

重点强调安装mysql成功的关键在于安装的版本不能是最新&#xff01;&#xff01; 目录 一&#xff1a;下载mysql数据库安装部分到此结束 二&#xff1a;配置mysql数据库三&#xff1a;启动mysql数据库四&#xff1a;各类奇葩问题总结 一&#xff1a;下载mysql数据库 1.进入MyS…

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

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

如何为IP申请SSL证书

目录 以下是如何轻松为IP地址申请SSL证书的详细步骤&#xff1a; 申请IP证书的基本条件&#xff1a; 申请IP SSL证书的方式&#xff1a; 确保网络通信安全的核心要素之一&#xff0c;是有效利用SSL证书来加密数据传输&#xff0c;特别是对于那些直接通过IP地址访问的资源。I…

AUTOSAR NM介绍

AUTOSAR NM介绍 NM简介 NM是Network Management的简称,是出于具体总线网络管理模块与ComM之间的适配层,为ComM提供所有总线网络管理的服务。在AUTOSAR BSW 层中,其上层是通信管理模块(ComM),下层是具体总线网络管理模块(如CanNm,J1939Nm,FrNm,LinNm,UdpNm等)。 为…

leetcode--二叉搜索树中第K小的元素

leetcode地址&#xff1a;二叉搜索树中第K小的元素 给定一个二叉搜索树的根节点 root &#xff0c;和一个整数 k &#xff0c;请你设计一个算法查找其中第 k 小的元素&#xff08;从 1 开始计数&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,1,4,null,2], k …