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中,下列不可做变量的是( )。
A. five-Star
B. five_star
C. fiveStar
D. _fiveStar

答案:A

第 4 题

在Python中,与 range(10) 效果相同的是( )。
A. range(0, 10, 1)
B. range(1, 10, 1)
C. range(10, 1)
D. range(10, 1, 1)

答案:A

第 5 题

print(5 % 2 and 5 % 3) 的输出是( )。
A. 1
B. 2
C. True
D. False

答案:B

第 6 题

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

a = 5
b = "5"
c = f"{a}" + f"{b}"
print(c)

A. 5’5’
B. 5"5"
C. 10
D. 55

答案:D

第 7 题

执行下面Python代码后,有关说法错误的是( )。

a = int(input())
b = int(input())
if a and b:
	print("1")
elif not (a or b):
	print("2")
elif a or b:
	print("3")
else:
	print("4")

A. 如果先后输入1和1,则将输出1
B. 如果先后输入0和1或者1和0,则将输出3
C. 如果先后输入0和0,则将输出2
D. 存在一组a和b的输入,输出是4

答案:D

第 8 题

某货币由5元,2元和1元组成。输入货币总金额,计算出总货币数最少的币种组成。为实现其功能,横线处应填入代码是( )。

N = int(input())

M5 = N // 5
M2 = ______________
M1 = ______________
print(f"5*{M5}+2*{M2}+1*{M1}")

A. 第1横线处应填入:N // 2
第2横线处应填入:N - M5 - M2
B. 第1横线处应填入:(N - M5 * 5) // 2
第2横线处应填入:N - M5 * 5 - M2 * 2
C. 第1横线处应填入:N - M5 * 5 // 2
第2横线处应填入:N - M5 * 5 - M2 * 2
D. 第1横线处应填入:(N - M5 * 5) // 2
第2横线处应填入:N - M5 - M2

答案:B

第 9 题

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

loopCount = 0
for i in range(10):
	for j in range(1, i):
		loopCount += 1
print(loopCount)

A. 55
B. 45
C. 36
D. 28

答案:C

第 10 题

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

loopCount = 0
for i in range(10):
	for j in range(i):
		if i * j % 2:
			break
	loopCount += 1
print(loopCount)

A. 25
B. 16
C. 10
D. 9

答案:C

第 11 题

假设下面Python代码执行过程中仅输入正负整数或0,有关说法错误的是( )。

Sum = 0
N = int(input())
while N:
	Sum += N
	N = int(input())
print(Sum)

A. 执行上面代码如果输入0,将终止循环
B. 执行上面代码能实现所有非0整数的求和
C. 执行上面代码第一次输入0,最后将输出0
D. 执行上面代码将陷入死循环,可将 while N: 改为 while N==0:

答案:D

第 12 题

执行下面的Python代码,有关说法正确的是( )【质数是指仅能被1和它本身整除的正整数】。

N = int(input())
Flag = True
for i in range(2,N):
	if i * i > N:
		break
	if N % i == 0:
		Flag = False
		break
if Flag == True:
	print(f"{N}是质数")
else:
	print(f"{N}不是质数")

A. 如果输入正整数,上面代码能正确判断N是否为质数
B. 如果输入整数,上面代码能正确判断N是否为质数
C. 如果输入大于等于0的整数,上面代码能正确判断N是否质数
D. 如将 Flag = True 修改为 Flag = True if N>=2 else False 则能判断所有整数包括负整数、0、正整数是否为质数

答案:D

第 13 题

下面Python代码用于实现如下图所示的效果,其有关说法正确的是( )。
在这里插入图片描述

for i in range(1, 6):
	for j in range(1, i+1):
		print(i*j, end=" ")
	print()

A. 当前代码能实现预期效果,无需调整代码
B. 如果 print() 与上一行代码对齐,则可实现预期效果
C. 如果 print() 与第一行代码对齐,则可实现预期效果
D. 删除 print() 行,则可实现预期效果

答案:A

第 14 题

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

cnt1 = 0
cnt2 = 0
for i in range(10):
	if i % 2 == 0:
		continue
	if i % 2:
		cnt1 += 1
	elif i % 3 == 0:
		cnt2 += 1
print(cnt1,cnt2)

A. 5 2
B. 5 0
C. 0 2
D. 0 0

答案:B

第 15 题

在下面的Python代码中,N必须是小于10大于1的整数,M为正整数(大于0)。如果M整除N则为幸运数,如果M中含有N且能整除,则为超级幸运数,否则不是幸运数。程序用于判断M是否为幸运数或超级幸运数或非幸运数。阅读下面代码,有关说法正确的是( )。

N = int(input("请输入幸运数字:"))
M = int(input("请输入正整数:"))
if M % N == 0:
	Lucky = True
else:
	Lucky = False
while M != 0:
	if M % 10 == N and Lucky == True:
		print(f"{M}{N}的超级幸运数")
		break
	M //= 10
else:
	if Lucky == True:
		print(f"{M}{N}的幸运数")
	else:
		print(f"{M}{N}的幸运数")

A. 如果N输入3,M输入36则将输出:36是3的超级幸运数
B. 如果N输入7,M输入21则将输出:21是7的幸运数
C. 如果N输入8,M输入36则将输出:36非8的超级幸运数
D. 如果N输入3,M输入63则将输出:63是3的超级幸运数

答案:D

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

第 16 题

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

答案:正确

第 17 题

在Python,int()可以将类似字符串"3.14"转换为整数3。( )

答案:错误

第 18 题

Python表达式 -12 % 10 的值为2。( )

答案:错误

第 19 题

Python表达式 round(12.56, 0) 的值为13。( )

答案:错误

第 20 题

Python语句 print(N // 3, N % 3, sep = “-”) 中的N已被赋值为10,则该语句执行后输出是3-1。 ( )

答案:正确

第 21 题

在Python代码中,不可以将变量命名为input,因为input是Python语言的关键字。( )

答案:错误

第 22 题

下面Python代码执行后将导致死循环。( )

for i in range(10):
	continue

答案:错误

第 23 题

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

cnt = 0
for i in range(10):
	for j in range(i):
		cnt += 1
		break
print(cnt)

答案:错误

第 24 题

下面Python代码执行后,将输出5。( )

cnt = 0
for i in range(1,5):
	for j in range(i,5,i):
		if i * j % 2 == 0:
			cnt += 1
print(cnt)

答案:正确

第 25 题

下面Python代码能实现正整数各位数字之和。( )

N = int(input())
Sum = 0
while N != 0:
	Sum += N % 10
	N //= 10
print(Sum)

答案:正确

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

第 26 题

试题名称:平方之和
时间限制:1.0 s
内存限制:512.0 MB
题面描述
小杨有 个正整数 a1,a2,…,an,他想知道对于所有的 i(1 <= i <= n ),是否存在两个正整数 x 和 y 满足 x * x + y * y = ai。
输入格式
第一行包含一个正整数 n,代表正整数数量。
之后 n 行,每行包含一个正整数,代表 ai。
输出格式
对于每个正整数 ai,如果存在两个正整数 x 和 y 满足 x * x + y * y = ai,输出 Yes,否则输出 No。
样例1

2
5
4
Yes
No

样例解释
对于第一个正整数,存在 1 * 1 + 2 * 2 = 5,因此答案为 Yes。
数据范围
对于全部数据,保证有 1 <= n <= 10, 1 <= ai <= 10^6 。
参考程序

import math

def check(x):
	if x<=0:
		return False
	y = int(math.sqrt(x))
	if y*y==x:
		return True
	return False
t = int(input())
for ii in range(0,t):
	n = int(input())
	fl = 0
	for i in range(1,n+1):
		j = n-i*i
		if check(j):
			fl=1
			break
	if fl==1:
		print("Yes")
	else:
		print("No")

第 27 题

试题名称:计数
时间限制:1.0 s
内存限制:512.0 MB
题面描述
小杨认为自己的幸运数是正整数 k(注:保证 1 <= k <= 9 )。小杨想知道,对于从 1 到 n 的所有正整数中, k 出现了多少次。
输入格式
第一行包含一个正整数 n。
第二行包含一个正整数 k。
输出格式
输出从 1 到 n 的所有正整数中, k 出现的次数。
样例1

25
2
9

样例解释
从 1 到 25 中, 2 出现的正整数有 2,12,20,21,22,23,24,25,一共出现了 9 次。
数据范围
对于全部数据,保证有 1 <= n <= 1000, 1 <= k <= 9。
参考程序

def check(x,y):
	cnt = 0
	while x>0:
		tmp = x%10
		if tmp==y:
			cnt+=1
		x=int(x/10)
	return cnt
	
n = int(input())
k = int(input())
ans = 0
for i in range(1,n+1):
	ans += check(i,k)
print(ans)

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

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

相关文章

GESP C++一级真题

PDF图片1-7 点赞❤️关注&#x1f60d;收藏⭐️ 互粉必回&#x1f64f;&#x1f64f;&#x1f64f;

【Linux】打包命令——tar

打包和压缩 虽然打包和压缩都涉及将多个文件组合成单个实体&#xff0c;但它们之间存在重要差异。 打包和压缩的区别&#xff1a; 打包是将多个文件或目录组合在一起&#xff0c;但不对其进行压缩。这意味着打包后的文件大小可能与原始文件相同或更大。此外&#xff0c;打包…

上位机图像处理和嵌入式模块部署(mcu项目1:假设用51单片机实现)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 到目前位置&#xff0c;我们借助于qt和apm32 mcu芯片&#xff0c;实现了大多数功能。大家如果回过头来看&#xff0c;其实这些功能并不复杂。从固件…

现场Live震撼!OmAgent框架强势开源!行业应用已全面开花

第一个提出自动驾驶并进行研发的公司是Google&#xff0c;巧的是&#xff0c;它发布的Transformer模型也为今天的大模型发展奠定了基础。 自动驾驶已经完成从概念到现实的华丽转变&#xff0c;彻底重塑了传统驾车方式&#xff0c;而大模型行业正在经历的&#xff0c;恰如自动驾…

Canvas:掌握颜色线条与图像文字设置

想象一下&#xff0c;用几行代码就能创造出如此逼真的图像和动画&#xff0c;仿佛将艺术与科技完美融合&#xff0c;前端开发的Canvas技术正是这个数字化时代中最具魔力的一环&#xff0c;它不仅仅是网页的一部分&#xff0c;更是一个无限创意的画布&#xff0c;一个让你的想象…

计算云服务2

第二章 裸金属服务器 什么是裸金属服务器(BMS) 裸金属服务器(Bare Metal Server&#xff0c;BMS)是一款兼具虚拟机弹性和物理机性能的计算类服务为用户以及相关企业提供专属的云上物理服务器&#xff0c;为核心数据库、关键应用系统、高性能计算、大数据等业务提供卓越的计算…

PCIe 规范核心知识线介绍

0&#xff0c;总体Topology x86 处理器系统中 PCIe的拓扑结构&#xff1a; PCIe Switch的总体结构 1&#xff0c;PCIe 枚举 BIOS 负责枚举与分派配置设备的 BusID[7:0] : DeviceID[4:0] : FunctionID[2:0]; cpu先识别 Host-PCI-Bridge&#xff0c;其下是Bus0&#xff1b; 在…

Linux:DHCP服务配置

目录 一、DHCP概述以及DHCP的好处 1.1、概述 1.2、DHCP的好处 二、DHCP的模式与分配方式 2.1、模式 2.2、DHCP的分配方式 三、DHCP工作原理 四、安装DHCP服务 五、DHCP局部配置并且测试 5.1、subnet 网段声明 5.2、客户机预留指定的固定ip地址 一、DHCP概述以及DHCP…

在CentOS7云服务器下搭建MySQL网络服务详细教程

目录 0.说明 1.卸载不要的环境 1.1查看当前环境存在的服务mysql或者mariadb 1.2卸载不要的环境 1.2.1先关闭相关的服务 1.2.2查询曾经下载的安装包 1.2.3卸载安装包 1.2.4检查是否卸载干净 2.配置MySQLyum源 2.1获取mysql关外yum源 2.2 查看当前系统结合系统配置yum…

EN-SLAM:Implicit Event-RGBD Neural SLAM解读

论文路径&#xff1a;https://arxiv.org/pdf/2311.11013.pdf 目录 1 论文背景 2 论文概述 2.1 神经辐射场&#xff08;NeRF&#xff09; 2.2 事件相机&#xff08;Event Camera&#xff09; 2.3 事件时间聚合优化策略&#xff08;ETA&#xff09; 2.4 可微分的CRF渲染技术…

最新版Python安装教程

一、安装Python 1.下载Python 访问Python官网&#xff1a; https:/www.oython.orgl 点击downloads按钮&#xff0c;在下拉框中选择系统类型(windows/Mac OS./Linux等) 选择下载最新稳定版本的Python 以下内容以演示安装Windows操作系统64位的python 左边是稳定发布版本Stabl…

芯片封装简介

1、背景 所谓“封装技术”是一种将集成电路用绝缘的塑料或陶瓷材料打包的技术。以CPU为例&#xff0c;实际看到的体积和外观并不是真正的CPU内核的大小和面貌&#xff0c;而是CPU内核等元件经过封装后的产品。封装技术对于芯片来说是必须的&#xff0c;也是至关重要的。因为芯片…

LLM4Decompile——专门用于反编译的大规模语言模型

概述 论文地址&#xff1a;https://arxiv.org/abs/2403.05286 反编译是一种将已编译的机器语言或字节码转换回原始高级编程语言的技术。该技术用于分析软件的内部工作原理&#xff0c;尤其是在没有源代码的情况下&#xff1b;Ghidra 和 IDA Pro 等专用工具已经开发出来&#…

灵活视图变换器:为扩散模型设计的革新图像生成架构

在自然界中&#xff0c;图像的分辨率是无限的&#xff0c;而现有的图像生成模型在跨任意分辨率泛化方面存在困难。虽然扩散变换器&#xff08;DiT&#xff09;在特定分辨率范围内表现出色&#xff0c;但在处理不同分辨率的图像时却力不从心。为了克服这一限制&#xff0c;来自上…

java 栅栏(CyclicBarrier)

Java中的栅栏&#xff08;CyclicBarrier&#xff09;是一种用于协调多个线程并发工作的同步辅助类。与CountDownLatch不同&#xff0c;CyclicBarrier允许一组线程相互等待&#xff0c;直到所有线程都到达一个共同的屏障点&#xff08;barrier&#xff09;后&#xff0c;才继续执…

【qt】TCP 服务端怎么收到信息?

上一节,我已经讲了,TCP的监听,是基于上一节的,不知道的可以看看. 当我们的TCP 服务器 有 客户端请求连接的时候,会发出一个信号newConnection(). 在TCP服务端与客户端的通信中,我们需要使用到套接字 QTcpSocket类. 套接字相当于是网络通信的接口,服务段和客户端都要通过它进行通…

聚焦大模型应用落地,2024全球数字经济大会人工智能专题论坛在京举办

7月1日下午&#xff0c;2024全球数字经济大会人工智能专题论坛在中关村国家自主创新示范区会议中心举办。论坛紧扣大模型应用落地这一热点&#xff0c;以“应用即未来——大模型赋能千行百业&#xff0c;新生态拥抱产业未来”为主题&#xff0c;备受社会各界关注。 一、北京已…

STM32点灯闪烁

stm32c8t6引脚图 开发板引脚图 GPIO端口的每个位可以由软件分别配置成 多种模式。 ─ 输入浮空 ─ 输入上拉 ─ 输入下拉 ─ 模拟输入 ─ 开漏输出 ─ 推挽式输出 ─ 推挽式复用功能 ─ 开漏复用功能 配置GPIO端口步骤&#xff1a;开启时钟->使用结构体设置输出模式…

LabVIEW从测试曲线中提取特征值

在LabVIEW中开发用于从测试曲线中提取特征值的功能时&#xff0c;可以考虑以下几点&#xff1a; 数据采集与处理&#xff1a; 确保你能够有效地采集和处理测试曲线数据。这可能涉及使用DAQ模块或其他数据采集设备来获取曲线数据&#xff0c;并在LabVIEW中进行处理和分析。 特…

吉时利KEITHLEY KI-488驱动和说明

吉时利KEITHLEY KI-488驱动和说明