2024年9月CCF—GESP(Python二级)编程能力等级认证试卷
二级
2024
2025-02-20 11:16:58
40次
一、单选题
下面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 |
【知识点】 CCF—GESP Python二级
一个数如果能被某个小于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语句不会导致死循环,但有时会影响效率 |
【知识点】 CCF—GESP Python二级
下面的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. 以上说法都没有错误 |
【知识点】 CCF—GESP Python二级
二、判断题
三、编程题
小杨的
时间限制:1.0 s
内存限制:512.0 MB
题面描述
小杨想要构造一个m×m 的 N 字矩阵(m为奇数),这个矩阵的从左上角到右下角的对角线、第1列和第m列都是半角加号 + ,其余都是半角减号 - 。例如,一个5×5 的 N 字矩阵如下:
+---+ ++--+ +-+-+ +--++ +---+
请你帮小杨根据给定的m打印出对应的 N 字矩阵。
输入格式
第一行包含一个正整数m。
输出格式
输出对应的 N 字矩阵。
输入样例
5
输出样例
+---+ ++--+ +-+-+ +--++ +---+
对于全部数据,保证有 3≤m≤49 且m为奇数。
【知识点】 CCF—GESP Python二级
数位之和
时间限制: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。
【知识点】 CCF—GESP Python二级

