内容正文:
题号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
答案 C B B D B C A A A D C D C C C
Python 一级
2024 年 06 ⽉
1 单选题(每题 2 分,共 30 分)
第 1 题 ⼩杨⽗母带他到某培训机构给他报名参加CCF组织的GESP认证考试的第1级,那他可以选择的认证语⾔有⼏
种?( )
A. 1
B. 2
C. 3
D. 4
第 2 题 ENIAC于1946年投⼊运⾏,是世界上第⼀台真正意义上的计算机,它的主要部件都是( )组成的。
A. 感应线圈
B. 电⼦管
C. 晶体管
D. 集成电路
第 3 题 在Python中,假设N为正整数,则表达式 print(N % 3 + N % 7) 的最⼤值是( )。
A. 最⼤值为6
B. 最⼤值为8
C. 最⼤值为9
D. 最⼤值为10
第 4 题 Python语句 print(f"5%2={5%2}",5 % 2) 执⾏后的输出是( )。
A. 1={1} 1
B. 5%2={5%2}1
C. 5%2={5%2} 1
D. 5%2=1 1
第 5 题 执⾏Python语句 print(input()) 时如果输⼊5+2,下述说法正确的是( )。
A. 将输出整数7
B. 将输出5+2
C. 语句执⾏将报错,函数不能作为函数的参数
D. 语句执⾏将报错,因为input()函数的括号内没有提⽰字符串
第 6 题 下⾯Python代码执⾏后的输出是( )。
A. 102={102}
B. a+1={a+1}
C. a+1=102
D. a先被赋值为浮点数,后被赋值为整数,执⾏将报错
第 7 题 下⾯Python代码执⾏后的输出是( )。
A. 5+5
B. 5+'5'
C. 10
D. 55
第 8 题 下⾯Python代码执⾏时输⼊10后,正确的输出是( )。
A. 第3⾏代码1
B. 第4⾏代码1
C. 第3⾏代码 1
D. 第4⾏代码 1
第 9 题 下⾯Python代码执⾏后,最终输出是( )。
a = 101.101
a = 101
print(f"a+1={a+1}")
1
2
3
a = "5"
b = 5
print(f"{a}+{b}")
1
2
3
N = int(input("请输入正整数:"))
if N % 3:
print("第3行代码", N % 3, sep = "")
else:
print("第4行代码", N % 3, sep = "")
1
2
3
4
5
A. 9 45
B. 10 55
C. 10 45
D. 11 55
第 10 题 下⾯Python代码⽤于判断N是否为质数(只能被1和它本⾝整除的正整数)。程序执⾏后,下⾯有关描述错
误的是( )。
A. 如果输⼊负整数,将输出“不是质数”
B. 如果输⼊2,将输出“是质数”,因为Flag已被改变为True
C. 如果输⼊2,将输出“是质数”,即便此时循环体没有被执⾏
D. 如果将 if N >= 2: 改为 if N > 2: 同样能正确判断N是否质数
第 11 题 下⾯的Python代码⽤于求1-N之间所有奇数之和,其中N为正整数,如果N为奇数求和时包括N。有关描述错
误的是( )。
A. 执⾏代码时如果输⼊10,则最后⼀⾏输出将是 11 25
Sum = 0
for i in range(10):
Sum += i
print(i,Sum)
1
2
3
4
N = int(input("请输入整数:"))
Flag = False
if N >= 2:
Flag = True
for i in range(2,N):
if N % i == 0:
Flag = False
break
if Flag == True:
print("是质数")
else:
print("不是质数")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
N = int(input("请输入正整数:"))
i = 1
Sum = 0
while i <= N:
if i % 2 == 1:
Sum += i
i += 1
print(i,Sum)
1
2
3
4
5
6
7
8
9
10
11
B. 执⾏代码时如果输⼊5,则最后⼀⾏输出将是 6 9
C. 将 i += 1 移到 if i % 2 == 1: 前⼀⾏且同样对齐,同样能实现题⽬要求
D. 删除 if i % 2 == 1: ,并将 i += 1 改为 i += 2 ,且将 Sum += i 与 i += 2 同样对齐,同样可以实现
题⽬要求
第 12 题 下⾯Python代码执⾏后的描述,正确的是( )。
A. 共有5条线段,蓝红相间,即蓝红蓝红蓝
B. 共有3条线段,全部是蓝⾊,看起来是1条线段
C. 共有6条线段,其中两条红⾊线段,4条蓝⾊线段
D. 以上说法都不正确
第 13 题 下⾯Python代码执⾏后的描述,错误的是( )。
A. 代码 turtle.circle(100) 将绘制⼀个半径为100的圆
B. 代码 turtle.circle(100, 360, 8) 将绘制半径为100的完整内接正⼋边形
C. 代码 turtle.circle(100, 360, 8) 将绘制半径为100的宽度为8的圆
D. 代码 turtle.circle(100, 180, 4) 将绘制半径为100的正⼋边形的右侧⼀半(4条边), 因为 第2个参数是
180度(只绘制⼀半)且第3个参数为4(只绘制出4个边)。
第 14 题 下⾯Python代码执⾏后输出的图形如下,横线处应填写的代码是( )。
A. 120
import turtle
for i in range(1,10,2):
if i % 3 == 0:
turtle.pencolor("red")
else:
turtle.pencolor("blue")
turtle.forward(50)
1
2
3
4
5
6
7
8
import turtle
turtle.circle(100)
turtle.circle(100, 360, 8)
turtle.circle(100, 180, 4)
1
2
3
4
import turtle
for d in range(10,_______,10):
turtle.left(90)
turtle.forward(d)
1
2
3
4
题号 1 2 3 4 5 6 7 8 9 10
答案
B. 110
C. 100
D. 90
第 15 题 为画出如下所⽰图形,下⾯Python代码横线处应填⼊( )。
A. 360
B. 180
C. 90
D. 45
2 判断题(每题 2 分,共 20 分)
第 1 题 GESP测试是对认证者的编程能⼒进⾏等级认证,同⼀级别的能⼒基本上与编程语⾔⽆关。( )
第 2 题 Python语句 print(N // 3,N % 3, N ** 3, sep = "->",end = "END") 中的N已被赋值为10,则该语句
执⾏后输出是3->1->1000->END。 ( )
第 3 题 Python语句 print(int(float(input()))) 可以输⼊正负整数和浮点数,并将其转换为整数后输出。( )
第 4 题 Python语句 print(f"{N}*2") 中的N已被赋值为5。该语句执⾏后将输出10。( )
第 5 题 在Python中,break语句⽤于终⽌当前层次的循环,可以是for-in循环,也可以是while循环。( )
第 6 题 在Python,continue语句通常与if语句配合使⽤。( )
第 7 题 在Python代码中,不可以将变量命名为print,因为print是Python语⾔的关键字。( )
第 8 题 在Python turtle中,turtle.forward()与turtle.fd()具有相同的功能。( )
第 9 题 Python代码turtle.clear()可以清除海⻳绘图,且海⻳将回到原点。( )
import turtle
for i in range(4):
turtle.circle(50)
turtle.left(__________)
1
2
3
4
第 10 题 下⾯Python代码执⾏后将绘制正多边形,如输⼊5将绘制正5边形,输⼊8将绘制正8边形,以此类推。( )
3 编程题(每题 25 分,共 50 分)
3.1 编程题 1
试题名称:休息时间
时间限制:1.0 s
内存限制:512.0 MB
3.1.1 题面描述
⼩杨计划在某个时刻开始学习,并决定在学习 秒后开始休息。
⼩杨想知道⾃⼰开始休息的时刻是多少。
3.1.2 输入格式
前三⾏每⾏包含⼀个整数,分别表⽰⼩杨开始学习时刻的时 、分 、秒 ( , , 的值符合
)。
第四⾏包含⼀个整数 ,表⽰⼩杨学习的总秒数(注: 的值符合 )。
3.1.3 输出格式
输出⼀⾏,包含三个整数,分别表⽰⼩杨开始休息时刻的时、分、秒。
3.1.4 样例1
3.1.5 样例解释
⼩杨在时刻 12:59:59 开始学习,学习 秒后开始休息,即在 13:0:9 时刻开始休息。
3.1.6 数据范围
对于全部数据,保证有 。
import turtle
N = int(input("请输入正整数:"))
for i in range(N):
turtle.forward(100)
turtle.left(360/N)
1
2
3
4
5
6
12
59
59
10
1
2
3
4
13 0 91
3.1.7 参考程序
3.2 编程题 2
试题名称:⽴⽅数
时间限制:1.0 s
内存限制:512.0 MB
3.2.1 题面描述
⼩杨有⼀个正整数 ,他想知道 是否是⼀个⽴⽅数。
⼀个正整数 是⽴⽅数当且仅当存在⼀个正整数 满⾜ 。
3.2.2 输入格式
第⼀⾏包含⼀个正整数 。
3.2.3 输出格式
如果正整数 是⼀个⽴⽅数,输出 Yes,否则输出 No。
3.2.4 样例1
3.2.5 样例2
3.2.6 样例解释
对于样例1,存在正整数 使得 ,因此 为⽴⽅数。
对于样例2,不存在满⾜条件的正整数,因此 不为⽴⽅数。
h = int(input())
m = int(input())
s = int(input())
k = int(input())
now = int(h)*60*60+int(m)*60+int(s)
now+=k
hh = int(now/3600)
now %= 3600
mm = int(now/60)
now %= 60
print(str(hh)+" "+str(mm)+" "+str(now))
1
2
3
4
5
6
7
8
9
10
11
12
81
Yes1
91
No1
3.2.7 数据范围
对于全部数据,保证有 。
3.2.8 参考程序
n = int(input())
fl = 0
for i in range(1,n+1):
if i*i*i==n:
fl = 1
break
if fl==1:
print("Yes")
else:
print("No")
1
2
3
4
5
6
7
8
9
10