GESP第六次认证真题解析|Python二级真题回顾

四季读书网 1 0
GESP第六次认证真题解析|Python二级真题回顾
GESP第六次认证真题解析|Python二级真题回顾-第1张图片-四季读书网

点击上方蓝字关注我们吧

GESP第六次认证真题解析|Python二级真题回顾-第2张图片-四季读书网

CCF编程能力等级认证,英文名Grade Examination of Software Programming(以下简称GESP),由中国计算机学会发起并主办,是为青少年计算机和编程学习者提供学业能力验证的平台。GESP覆盖中小学全学段,符合条件的青少年均可参加认证。GESP旨在提升青少年计算机和编程教育水平,推广和普及青少年计算机和编程教育。

GESP考察语言为图形化编程、Python编程及C++编程,主要考察学生掌握相关编程知识和操作能力,熟悉编程各项基础知识和理论框架,通过设定不同等级的考试目标,让学生具备编程从简单的程序到复杂程序设计的编程能力,为后期专业化编程学习打下良好基础。

本次为大家带来的是20246月认证Python二级真题解析。

GESP20246月认证Python二级

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

题号

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

答案

C

B

A

A

B

D

D

B

C

C

D

D

A

B

D

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

A. 1

B. 2

C. 3

D. 4

【答案C

【考纲知识点】了解高级语言

【解析】本题考察GESP等级的认证语言,包括c++python和图形化编程三种语言

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

GESP第六次认证真题解析|Python二级真题回顾-第3张图片-四季读书网

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

【考纲知识点】 分支结构中的if条件语句

【解析】本题通过流程图体现分支结构,条件判断框中填写闰年的判定条件:年份是4的倍数时,该年是闰年。当年份是100的倍数时,当且仅当年份是400的倍数时才是闰年

3、在Python中 ,下列不可做变量的是(     )

A. five-Star

B. five_star

C. fiveStar

D._fiveStar

【答案】A

【考纲知识点】掌握变量的命名规则

【解析】本题考察python中变量的命名由数字、字母、下划线组成,没有短横线,并且只能由字母或下划线开头

4、在Python中 ,与 range(10)效果相同的是(       )

A. range(0, 10, 1)

B. range(1, 10, 1)

C. range(10, 1)

D. range(10, 1, 1)

【答案A

【考纲知识点】range()函数

【解析】本题考察range()函数的参数传递与缺省,range()函数常用于遍历,常见用法为range(start,stop,step)。其中start是起始下标,默认值为0stop是终止下标,默认值-1step是步长,默认值为1.本题题干中考察range()函数的另一种表示,当startstep都为默认值时,可以省略参数,因此形为range(stop)。本题中括号内的10代表终止下标为10,其余两个参数都是默认值。

5print(5 % 2 and 5 % 3) 的输出是(      )

A. 1

B. 2

C. True  

D. False

【答案】B

【考纲知识点】pythonand运算符

【解析】首先要明确在Python中所有的空字符串都是假,非空字符串都是真,非零的数字都是真。对于and运算符:只要左边的表达式为真,那么整个表达式返回的是右边表达式的值,否则返回的是左边表达式的值

6下⾯Python代码执行后输出是(     )

GESP第六次认证真题解析|Python二级真题回顾-第4张图片-四季读书网A.5'5'   

B.5"5"

C.10

D. 55

【答案D

【考纲知识点】格式化字符串

【解析】本题考察f-string这种格式化字符串的方法,例如name=abc,print(f”my name is {name}”)将会输出my name is {name},也就是大括号中的变量名在输出时会被替换为实际的值。c=a+“b”,字符以ASCII码的形式存储,“b”的值为50,所以c等于55

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

GESP第六次认证真题解析|Python二级真题回顾-第5张图片-四季读书网

A.如果先后输入11,则将输出1

B.如果先后输⼊01或者10,则将输出3

C.如果先后输⼊00,则将输出2

D.存在⼀组ab的输入 ,输出是4

答案】D

【考纲知识点】if-elif条件判断

【解析】如果输入11,将输出1。如果输⼊01或者10,则将输出3;如果先后输⼊00,则将输出2。考虑所有可能的输入,均不会进入第四个条件判断

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

GESP第六次认证真题解析|Python二级真题回顾-第6张图片-四季读书网

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

【考纲知识点】数学逻辑、格式化输出

【解析】本题考察对题干中逻辑的理解,其中M5M2M1分别代表5元、2元、1元货币的个数。需要货币总数尽可能少,因此尽可能使用面额更高的货币。首先由N/5计算出5元货币的个数,这个结果将会取得整数。剩余无法用5元来表示的金额,则 是N - M5 * 5,用(N - M5 * 5) / 2 计算出2元货币的个数,剩余金额(N - M5 * 5 - M2 * 2)/1得到1元货币的个数

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

GESP第六次认证真题解析|Python二级真题回顾-第7张图片-四季读书网A.55

B.45

C.36

D. 28

【答案】C

【考纲知识点】range()函数实现遍历、双重for循环

【解析】本题考察对于循环嵌套以及赋值运算符的理解。使用loopcount变量记录内层循环总次数,当i=2时,内层循环执行1次,当i=3时,内层循环执行2......i=9时,内层循环执行8.因此总次数为(1+8*8/2=36

10下⾯Python代码执⾏后的输出是(     )。

GESP第六次认证真题解析|Python二级真题回顾-第8张图片-四季读书网

  1. 25

  2. 16

  3. 10

  4. 9

答案】C

【考纲知识点】双重for循环和break终止语句

【解析】本题主要考查循环变量所属关系,在Python语言的语法中,缩进表示控制关系,loopcount变量,所统计的是外层循环的循环次,与内层循环分支语句条件是否成立不相关,最终循环为十次,即外层循环的循环次数

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

GESP第六次认证真题解析|Python二级真题回顾-第9张图片-四季读书网

A.执行上面代码如果输⼊0,将终止循环

B.执行上面代码能实现所有非0整数的求和  

C.执行上面代码第⼀次输⼊0,最后将输出0

D.执行上面代码将陷⼊死循环 ,可将 while N: 改为while N==0:

【答案】D

【考纲知识点】while循环的条件

【解析】该代码不会陷入死循环,N的值随机,D选项的改动无意义

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

A.如果输⼊正整数 ,上⾯代码能正确判断N是否为质数

B.如果输⼊整数 ,上⾯代码能正确判断N是否为质数

C.如果输⼊⼤于等于0的整数 ,上⾯代码能正确判断N是否质数

D.如将Flag = True 修改为Flag = True if N>=2 else False 则能判断所有整数包括负整数、0、正整数 是否为质数

【答案】D

【考纲知识点】for循环、条件判断、对质数的理解

【解析】原代码没有考虑N=1的情况,将输出1为质数,由此排除ABCD选项的改动规避了N<2的情况,正确

13下⾯Python代码⽤于实现如下图所⽰的效果,其有关说法正确的是()。

GESP第六次认证真题解析|Python二级真题回顾-第10张图片-四季读书网

A.当前代码能实现预期效果 ,⽆需调整代码

B.如果print()与上⼀行代码对齐 ,则可实现预期效果  

C.如果print()与第⼀行代码对齐 ,则可实现预期效果

D.删除print()行,则可实现预期效果

【答案】A

【考纲知识点】双重for循环

【解析】i=1j=1,输出1后换行;i=2j=1/2,输出2 4后换行;以此类推得到的输出结果与题干相符

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

GESP第六次认证真题解析|Python二级真题回顾-第11张图片-四季读书网A.5 2

B.5 0

C.0 2

D. 0 0

【答案】B

【考纲知识】for循环和if-else条件判断语句

【解析】i的取值范围从0遍历到9,使用cnt1变量记录满足i%2==1的个数,使用cnt2变量记录满足i%2==1的个数,分别是i=13579。通过观察if-else结构可知,只有当i%2==1i%2=1时才会执行else if判断,这显然互相矛盾,因此else if之后的语句不会执行,cnt2保持初始值0

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

GESP第六次认证真题解析|Python二级真题回顾-第12张图片-四季读书网

A.如果N输⼊3M输⼊36则将输出:363的超级幸运数

B.如果N输⼊7M输⼊21则将输出:217的幸运数

C.如果N输⼊8M输⼊36则将输出:368的超级幸运数

D.如果N输⼊3M输⼊63则将输出:633的超级幸运数

答案】B

【考纲知识点】程序阅读能力

【解析】本题需要注意当M的个位与N不相同时,M会不断除以10即发生变化,而且没有变量存储原M值。因此AB选项中最终会输出的M都不是最开始的输入值。

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

题号

1

2

3

4

5

6

7

8

9

10

答案

×

×

×

×

×

×

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

【答案】正确

【考纲知识点】对GESP的认识

【解析】本题考察对GESP的认识,GESP测试是对认证者的编程能力进行等级认证, 同⼀级别的能力基本上与编程语言无关

2Pythonint()可以将类似字符串"3.14"转换为整数3(  )

【答案】错误

【考纲知识点】强制类型转换

【解析】本题考察int()做强制类型转换,int()函数可以将字符串转换为整型数字,但不能讲小数转成整数

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

【答案】错误

【考纲知识点】python中取模运算符%的使用

【解析】本题考察模运算,或者取余运算符的使用。当12%10余数为2,此处-12%10的余数为8,即负数求余,相当于其正整数部分求余数,然后用除数减去该余数,-12 % 1010-12%10

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

【答案】错误

【考纲知识点】pythonround()函数的使用

【解析】本题考察round()函数的作用以及两个参数的含义。

round(number,digits)中第一个参数number是要进行取整的原数字,第二个参数指定取整的要求,也就是保留几位小数。基于银行家舍入法,也称为偶数舍入。这意味着如果要舍弃的数字是5,而前面的数字是偶数,则舍入到最接近的偶数。如果前面的数字是奇数,则向上舍入到最接近的偶数。round(2.5)=2round(3.5)=4

注意:round(12.56,0)的值为13.0而不是13.

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

【答案】正确

【考纲知识点】运算符//%的含义

【解析】本题考察python中运算符//%。常见的/表示浮点整除法,返回浮点结果。而//表示整数除法,返回的值是做除法后向下取整的结果。因此10//3 =310%3=1sep表示间隔符。

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

【答案】错误

【考纲知识点】对于input的理解

【解析】input()python中的内置函数,用于接受用户输入,而不是关键字。

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

GESP第六次认证真题解析|Python二级真题回顾-第13张图片-四季读书网

【答案】错误

【考纲知识点for循环和continue语句

【解析】执行continue语句后,会跳过当前循环的剩余语句不执行转而进入下一轮循环。题干中i=0,此时执行continue回到for语句,i自增为1,继续执行continue回到for语句,i自增为2;依次循环直到i=10不再执行。因此总循环数为10次,并不会出现死循环。

8下⾯Python代码执⾏后将输出10( )

GESP第六次认证真题解析|Python二级真题回顾-第14张图片-四季读书网【答案】错误

【考纲知识点】双for循环、赋值运算符

【解析】本题使用cnt变量记录第二层循环执行的次数,当i=0时,内层循环执行0次;当i=1时,内层循环执行1次,当i=2时,内层循环执行2......i=9时,内层循环执行9.因此总次数为(1+9*9/2=45

9下⾯Python代码执行后 ,将输出5( )

GESP第六次认证真题解析|Python二级真题回顾-第15张图片-四季读书网【答案】正

【考纲知识点】双重for循环和if语句

【解析】当i=1时,j=1/2/3/4,此时i*j%2的结果为1/0/1/0,结果为0时满足if条件判断则执行cnt的自增语句结果为1时,if括号中语句结果为0,则跳出第二层for循环;当i=2时,j=2/4,此时i*j%2的结果为0/0;当i=3时,j=3,此时i*j%2的结果为1;当i=4时,j=4,此时i*j%2的结果为0

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

GESP第六次认证真题解析|Python二级真题回顾-第16张图片-四季读书网

【答案】正确

【考纲知识点】运算符%、赋值运算符+=/=

【解析】本题考察对两种运算符的认识,通过N%10取得N的个位数,用sum变量保存,再通过N/=10去掉N的个位数,下一次取得的实际上是N的十位数。循环往复,直到N=0循环结束,此时已将N的所有位数加到sum

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

题号

1

2

答案



1、平方之和                                

题面描述

⼩杨有n个正整数a1, a2, · · · , an,他想知道对于所有的i ( 1 ≤ i ≤ n) ,是否存在两个正整数xy 满⾜x*x + y*y = ai

输入格式

第一行包含⼀个正整数n,代表正整数数量。之后n⾏ ,每⾏包含⼀个正整数 ,代表 ai

输出格式

对于每个正整数ai,如果存在两个正整数xy满⾜x*x + y*y = ai,输出Yes,否则输出No

样例1

GESP第六次认证真题解析|Python二级真题回顾-第17张图片-四季读书网

样例解释

对于第⼀个正整数 ,存在 1 x 1 + 2 x 2 = 5 , 因此答案为 Yes

数据范围

对于全部数据 ,保证有 1 ≤ n ≤ 10 , 1 ≤ ai≤ 106

【题目大意】

n,一共输入n个正整数a1~an。判断ai能否表示为两个正整数xy的平方之和。

【考纲知识点】

开方运算、输入输出语句、循环

【解题思路】

按题目要求定义好需要的变量,并实现输入

通过while循环n次单独接收每次的数据ai,定义f1变量表示结果

1~根号ai之间遍历数字i,此时i就是x

调用check()函数计算ai,剩余的数为ai-i*i,判断它能否被开方

如果可以则f1=1,输出yes,否则输出no

参考程序

GESP第六次认证真题解析|Python二级真题回顾-第18张图片-四季读书网

2、计数

题面描述 

⼩杨认为⾃⼰的幸运数是正整数k(注:保证1 ≤ k ≤ 9) 。⼩杨想知道 ,对于从 1n的所有正整数中 ,k出现了 多少次。

输入格式 

第⼀⾏包含⼀个正整数n。 第⼆⾏包含⼀个正整数 k

输出格式

输出从1n的所有正整数中 ,k出现的次数。

样例1GESP第六次认证真题解析|Python二级真题回顾-第19张图片-四季读书网

样例解释

125中 ,2出现的正整数有2, 12, 20, 21 , 22, 23, 24, 25 ,⼀共出现了9次。

数据范围

对于全部数据 ,保证有 1 ≤ n ≤ 1000, 1 ≤ k ≤ 9

【题目大意】

给定正整数nk,要计算k这个数在1~n中出现了多少次

【考纲知识点】

取模和除运算、输入输出语句、循环

【解题思路】

题目要求定义好需要的变量,并实现输入

通过for循环遍历1~n中的每个数i,调用check()函数计算该数中k出现多少次

定义check()函数,传入参数ik,通过i%10得到i的个位,与k比较,如果相同则cnt+1.再通过i/10去掉i的个位。通过循环重复上述步骤,将i的每一位都与k作对比

定义ans变量累计每次cnt的结果,得到最终答案

参考程序

GESP第六次认证真题解析|Python二级真题回顾-第20张图片-四季读书网

技术支持:张思娴

策划:GESP技术委员会副主席 刘晓庆

GESP第六次认证真题解析|Python二级真题回顾-第21张图片-四季读书网
GESP第六次认证真题解析|Python二级真题回顾-第22张图片-四季读书网
GESP第六次认证真题解析|Python二级真题回顾-第23张图片-四季读书网
GESP第六次认证真题解析|Python二级真题回顾-第24张图片-四季读书网
联系方式

1. GESP微信:关注“CCF GESP公众号,点击“GESP小助手”即可交流。

2. GESP邮箱:gesp@ccf.org.cn

注:请在邮件中详细描述咨询的问题并留下考生的联系方式及姓名、身份证号,以便及时有效处理。

3. GESP电话:0512-67656856

咨询时间:周一至周五(法定节假日除外)上午 8:30-12:00;下午 13:00-17:30

扫码关注GESP公众号,了解更多资讯

GESP第六次认证真题解析|Python二级真题回顾-第25张图片-四季读书网
GESP第六次认证真题解析|Python二级真题回顾-第26张图片-四季读书网

上一个当前已是最后一个了

下一个当前已是最新一个了

抱歉,评论功能暂时关闭!