2024年9月GESP认证Python编程二级真题试卷
剩余时间 --:--:--
单选题 共 15 题
1.
据有关资料,山东大学于1972年研制成功DJL-1计算机,并于1973年投入运行,其综合性能居当时全国第三 位。DJL-1计算机运算控制部分所使用的磁心存储元件由磁心颗粒组成,设计存贮周期为2μs(微秒)。那么该磁心 存储元件相当于现代计算机的( )。
2.

Python程序执行出现错误,不太常见的调试手段是

3.
在Python中,下列不可做变量的是( )。
4.
在Python中,与 range(1, 10) 效果相同的是( )。
5.
在Python中, print(5 // 2 + 5 % 3) 的输出是( )。
6.

下面Python代码执行时先后输入2和3.14后,其输出是( )。

 a = input() 
 b = input() 
 print(a + b)
7.
在Python代码中假设N为正整数,则下面代码能获得个位数的是( )。
8.

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

for i in range(10):
    if i % 2:
        break
    print("0", end = "#")
    else:
        print("1",end = "#")
9.

执行下面Python代码并输入1和0,输出是( )。

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")
10.

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

loopCount = 0
for i in range(1, 5, 2):
    loopCount += 1
print(loopCount)
11.

下图是Python程序执行后的输出。为实现其功能,横线处应填入代码是( )。

lineNum = int(input())
for i in range(1, lineNum + 1):
    for j in range(____________):
        print(j, end = " ")
    print()
12.

下面Python代码执行后输出逆序数,如输入123则输出321。如输入120则输出21。横线处先后应填入的代码 是( ) 。

N = int(input())
rst = 0
while N:
    ____________________
    ______________________
print(rst)
13.

下面的Python代码用于输入学生成绩,并根据人数计算出平均成绩,有关说法错误的是( )。

Sum = 0 #保存总成绩
cnt = 0 #保存学生人数
while True:
    score = int(input())
    if score < 0:
        break
    cnt += 1
    Sum += score
print(f"总学生数:{cnt},平均:{Sum/cnt}")
14.

请在横线上填写代码。以下Python代码判断输⼊的数是否为质数,如果该数字是质数,则输出YES,否则输 出NO。质数是指仅能被1和它本身整除的正整数( )。

num = int(input())
for i in range(2,num):
    if __________:
        print("NO")
        break
    else:
        print("YES")
15.

一个数如果能被某个小于10的正整数(比如7)整除,或者含有该数,则说该数是某个数的相关数。下面 Python代码用于判断输入的数与7是否有关。其说法错误的是( )。

N = int(input())
Flag = False
M = N
if M % 7 == 0:
    Flag = True
while Flag == False and M != 0:
    if M % 10 == 7:
        Flag = True
        break
    M //= 10
if Flag == True:
    print(f"{N}与7有关")
else:
    print(f"{N}与7无关")
判断题 共 10 题
1.
小杨最近开始学习Python编程,老师说Python是一门高级语言。( )
2.
在Python中,print(3, 4, 5)可以输出 3 4 5 每个输出项之间用空格分开。( )
3.
Python表达式 12 % 10 % 10 的值为2。( )
4.
Python表达式 round(12.56) 的值为13。( )
5.
Python语句 print(input() + input()) 能将先后输入的内容拼接在一起。 ( )
6.

下面的Python将导致死循环。( )

 while True: 
     break
7.

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

 for i in range(10): 
     continue 
 else: 
     print(i)
8.

下面Python代码能求整数N和M之间所有整数之和,包含N和M。( )

N = int(input())
M = int(input())
if N > M:
    N, M = M, N
Sum = 0
for i in range(N, M + 1):
    Sum += i
print(Sum)
9.

将下面Python代码中的range(1, 5)调整为range(5)输出结果相同。( )

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

某一系列数据的规律是从第3个数值开始是前两个数之和。下面的代码求第N个数的值,N限定为大于2。( )

start1 = int(input()) #第1个数
start2 = int(input()) #第2个数
N = int(input()) #求N个数的值
for i in range(2, N):
    start1, start2 = start2, start1 + start2
print(start2
问答题 共 2 题
1.

Python试题名称:数位之和

时间限制:1.0 s

内存限制:512.0 MB

3.1.1 题面描述

小杨有 n 个正整数,他认为一个正整数是美丽数字当且仅当该正整数每一位数字的总和是 7 的倍数。

小杨想请你编写一个python程序判断 n 个正整数哪些是美丽数字。

3.1.2 输入格式

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

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

3.1.3 输出格式

对于每个正整数,如果是美丽数字则输出 Yes,否则输出 No

3.1.4 样例1

3
7
52
103



Yes
Yes
No


7的各位数字之和为 7,是 7的倍数。52 的各位数字之和为 5+2=7,是 7 的倍数。103 的各位数字之和为1+0+3=4,不是 7 的倍数。

对于全部数据,保证有

2.

Python试题名称:小杨的N字矩阵

时间限制:1.0 s

内存限制:512.0 MB

3.2.1 题面描述

小杨想要构造一个 mxm  N 字矩阵( m为奇数),这个矩阵的从左上角到右下角的对角线、第 1 列和第 m 列都

是半角加号 + ,其余都是半角减号 - 。例如,一个 5*5 的 N 字矩阵如下:

+---+
++--+
+-+-+
+--++
+---+


请你帮小杨根据给定的 m 打印出对应的 N 字矩阵。

3.2.2 输入格式

第一行包含一个正整数 m

3.2.3 输出格式

输出对应的 N 字矩阵。

3.2.4 样例1

5
+---+
++--+
+-+-+
+--++
+---+


对于全部数据,保证有 3<=m<=49 m 为奇数。

C++ 编辑器
输入
输出