万卷网> GESP认证 >Python > 2024年9月CCF—GESP(Python二级)编程能力等级认证试卷

2024年9月CCF—GESP(Python二级)编程能力等级认证试卷
二级 2024 2025-02-20 11:16:58 40

一、单选题

1.

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

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


A.

rst = rst * 10 + N % 10 N = N // 10

B.

rst += N % 10 N = N // 10

C.

rst = rst * 10 + N % 10 N = N / 10

D.

rst += N % 10 N = N / 10

2.

在Python中, print(5 // 2 + 5 % 3) 的输出是( )。

A.

1

B.

2

C.

4

D.

5

3.

一个数如果能被某个小于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无关")


A.

删除break语句将导致死循环

B.

删除 M //= 10 将可能导致死循环

C.

删除 M = N 并将其后代码中的M变量改为N,同样能完成相关功能,但输出形式有所不同

D.

删除break语句不会导致死循环,但有时会影响效率

4.

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

A.

ccf-gesp

B.

ccf_gesp

C.

ccfGesp

D.

_ccfGesp

5.

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

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


A.

代码 while True: 写法错误

B.

如果输入负数,将结束输入,并正确输出

C.

如果录入的学生成绩含有小数,程序将报错

D.

以上说法都没有错误

6.

在Python代码中假设N为正整数,则下面代码能获得个位数的是( )。

A.

N % 10

B.

N // 10

C.

N / 10

D.

以上选项均不正确

7.

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

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


A.

1

B.

2

C.

3

D.

5

8.

在Python中,与 range(1, 10) 效果相同的是( )。

A.

range(10)

B.

range(11)

C.

range(1, 10, 1)

D.

range(0, 10, 1)

9.

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

a = input()
b = input()
print(a + b)


A.

5

B.

23.14

C.

5.14

D.

将触发异常

10.

Python程序执行出现错误,不太常见的调试手段是(2024.9-2)( )。

A.

阅读源代码

B.

单步调试

C.

输出执行中间结果

D.

跟踪计算机执行的底层代码(如二进制机器码,汇编码)

11.

据有关资料,山东大学于1972年研制成功DJL-1计算机,并于1973年投入运行,其综合性能居当时全国第三位。DJL-1计算机运算控制部分所使用的磁心存储元件由磁心颗粒组成,设计存贮周期为2μs(微秒)。那么该磁心存储元件相当于现代计算机的(2024.9-2)( )。

A.

内存

B.

磁盘

C.

CPU

D.

显示器

12.

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

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


A.

num % i

B.

num % i == 0

C.

num // i

D.

num // i == 0

13.

执行下面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")


A.

1

B.

2

C.

3

D.

4

14.

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

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


A.

i, i

B.

1, i

C.

i, i*2

D.

i+1, i + i

15.

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

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


A.

0

B.

0#

C.

0#0#1

D.

没有输出

二、判断题

1.

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

A.正确 B.错误
2.

某一系列数据的规律是从第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)
A.正确 B.错误
3.

Python语句 print(input() + input()) 能将先后输入的内容拼接在一起。 ( )

A.正确 B.错误
4.

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

A.正确 B.错误
5.

在Python中,print(3, 4, 5)可以输出 3 4 5 每个输出项之间用空格分开。( )

A.正确 B.错误
6.

下面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)


A.正确 B.错误
7.

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

while True:
	break


A.正确 B.错误
8.

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

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


A.正确 B.错误
9.

小杨最近开始学习Python编程,老师说Python是一门高级语言。(2024.9-2)( )

A.正确 B.错误
10.

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

for i in range(10):
	continue
else:
	print(i)
A.正确 B.错误

三、编程题

1.

小杨的

时间限制:1.0 s

内存限制:512.0 MB

题面描述

小杨想要构造一个m×m 的 N 字矩阵(m为奇数),这个矩阵的从左上角到右下角的对角线、第1列和第m列都是半角加号 + ,其余都是半角减号 - 。例如,一个5×5 的 N 字矩阵如下:

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

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

输入格式

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

输出格式

输出对应的 N 字矩阵。


输入样例

5

输出样例

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

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

2.

数位之和

时间限制:1.0 s

内存限制:512.0 MB

题面描述

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

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

输入格式

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

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

输出格式

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


输入样例

3
7
52
103

输出样例

Yes
Yes
No

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

对于全部数据,保证有1≤n≤105 ,1≤ai≤105。

公众号
客服 反馈
顶部