试卷 2024年6月GESP认证Python编程二级真题试卷
2024年6月GESP认证Python编程二级真题试卷
选择题
第 1 题    单选题
小杨父母带他到某培训机构给他报名参加CCF组织的GESP认证考试的第1级,那他可以选择的认证语言有几 种?( )
A.

1

B.

2

C.

3

D.

4

第 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)
第 3 题    单选题
在Python中,下列不可做变量的是( )。
A.
five-Star
B.
five_star
C.
fiveStar
D.
_fiveStar
第 4 题    单选题
在Python中,与 range(10) 效果相同的是( )。
A.
range(0, 10, 1)
B.
range(1, 10, 1)
C.
range(10, 1)
D.
range(10, 1, 1)
第 5 题    单选题
print(5 % 2 and 5 % 3) 的输出是( )。
A.

1

B.

2

C.
True
D.
False
第 6 题    单选题

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

1 a = 5
2 b = "5"
3 c = f"{a}" + f"{b}"
4 print(c)
A.
5'5'
B.
5"5"
C.
10
D.
55
第 7 题    单选题

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

1 a = int(input())
2 b = int(input())
3 if a and b:
4  print("1")
5 elif not (a or b):
6  print("2")
7 elif a or b:
8  print("3")
9 else:
10  print("4")
A.
如果先后输入1和1,则将输出1
B.
如果先后输入0和1或者1和0,则将输出3
C.
如果先后输入0和0,则将输出2
D.
存在一组a和b的输入,输出是4
第 8 题    单选题

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

1 N = int(input())
2
3 M5 = N // 5
4 M2 = ______________
5 M1 = ______________
6 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

第 9 题    单选题

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

1 loopCount = 0
2 for i in range(10):
3  for j in range(1, i):
4   loopCount += 1
5 print(loopCount)
A.

55

B.

45

C.

36

D.

28

第 10 题    单选题

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

1 loopCount = 0
2 for i in range(10):
3  for j in range(i):
4   if i * j % 2:
5    break
6  loopCount += 1
7 print(loopCount)
A.

25

B.

16

C.

10

D.

9

第 11 题    单选题

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

1 Sum = 0
2 N = int(input())
3 while N:
4  Sum += N
5  N = int(input())
6 print(Sum)
A.
执行上面代码如果输入0,将终止循环
B.
执行上面代码能实现所有非0整数的求和
C.
执行上面代码第一次输入0,最后将输出0
D.

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

第 12 题    单选题

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

1 N = int(input())
2 Flag = True
3 for i in range(2,N):
4  if i * i > N:
5   break
6  if N % i == 0:
7   Flag = False
8   break
9 if Flag == True:
10  print(f"{N}是质数")
11 else:
12  print(f"{N}不是质数")
A.
如果输入正整数,上面代码能正确判断N是否为质数
B.
如果输入整数,上面代码能正确判断N是否为质数
C.
如果输入大于等于0的整数,上面代码能正确判断N是否质数
D.
如将 Flag = True 修改为 Flag = True if N>=2 else False 则能判断所有整数包括负整数、0、正整数 是否为质数
第 13 题    单选题

下面Python代码用于实现如下图所示的效果,其有关说法正确的是( )。

1 for i in range(1, 6):
2  for j in range(1, i+1):
3   print(i*j, end=" ")
4  print()
A.
当前代码能实现预期效果,无需调整代码
B.
如果 print() 与上一行代码对齐,则可实现预期效果
C.
如果 print() 与第一行代码对齐,则可实现预期效果
D.
删除 print() 行,则可实现预期效果
第 14 题    单选题

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

1 cnt1 = 0
2 cnt2 = 0
3 for i in range(10):
4  if i % 2 == 0:
5   continue
6  if i % 2:
7   cnt1 += 1
8  elif i % 3 == 0:
9   cnt2 += 1
10 print(cnt1,cnt2)
A.
5 2
B.
5 0
C.
0 2
D.
0 0
第 15 题    单选题

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

1 N = int(input("请输入幸运数字:"))
2 M = int(input("请输入正整数:"))
3 if M % N == 0:
4  Lucky = True
5 else:
6  Lucky = False
7 while M != 0:
8  if M % 10 == N and Lucky == True:
9   print(f"{M}是{N}的超级幸运数")
10   break
11  M //= 10
12 else:
13  if Lucky == True:
14   print(f"{M}是{N}的幸运数")
15  else:
16   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的超级幸运数
判断题
第 16 题    判断题
GESP测试是对认证者的编程能力进行等级认证,同一级别的能力基本上与编程语言无关。( )
A.
正确
B.
错误
第 17 题    判断题
在Python,int()可以将类似字符串"3.14"转换为整数3。( )
A.
正确
B.
错误
第 18 题    判断题
Python表达式 -12 % 10 的值为2。( )
A.
正确
B.
错误
第 19 题    判断题
Python表达式 round(12.56, 0) 的值为13。( )
A.
正确
B.
错误
第 20 题    判断题
Python语句 print(N // 3, N % 3, sep = "-") 中的N已被赋值为10,则该语句执行后输出是3-1。 ( )
A.
正确
B.
错误
第 21 题    判断题
在Python代码中,不可以将变量命名为input,因为input是Python语言的关键字。( )
A.
正确
B.
错误
第 22 题    判断题

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

A.
正确
B.
错误
第 23 题    判断题

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

1 cnt = 0
2 for i in range(10):
3  for j in range(i):
4   cnt += 1
5   break
6 print(cnt)
A.
正确
B.
错误
第 24 题    判断题

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

1 cnt = 0
2 for i in range(1,5):
3  for j in range(i,5,i):
4   if i * j % 2 == 0:
5    cnt += 1
6 print(cnt)
A.
正确
B.
错误
第 25 题    判断题

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

1 N = int(input())
2 Sum = 0
3 while N != 0:
4  Sum += N % 10
5  N //= 10
6 print(Sum)
A.
正确
B.
错误
编程题
第 26 题    问答题

3.1 编程题 1 

试题名称:平方之和 

时间限制:1.0 s 

内存限制:512.0 MB 

3.1.1 题面描述 

小杨有n个正整数a1,a2,……,an,他想知道对于所有的i(1≤i≤n),是否存在两个正整数x和y满足x×x+y×y=ai。 

3.1.2 输入格式 

第一行包含一个正整数n,代表正整数数量。 

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

3.1.3 输出格式 

对于每个正整数ai,如果存在两个正整数x和y满足x×x+y×y=ai,输出Yes,否则输出No。 

3.1.4 样例1 

3.1.5 样例解释 

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

3.1.6 数据范围 

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

第 27 题    问答题

3.2 编程题 2 

试题名称:计数 

时间限制:1.0 s 

内存限制:512.0 MB 

3.2.1 题面描述 

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

3.2.2 输入格式 

第一行包含一个正整数n。 

第二行包含一个正整数k。 

3.2.3 输出格式 

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

3.2.4 样例1 

3.2.5 样例解释 

从1到25中,2出现的正整数有2,12,20,21,22,23,24,25,一共出现了9次。 

3.2.6 数据范围 

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

答题卡
选择题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
判断题
编程题
26 27
题目总数:27
总分数:100
时间:90分钟