2023年12月青少年软件编程Python等级考试(三级)真题试卷
剩余时间 --:--:--
单选题 共 25 题
1.

一个非零的二进制正整数,在其末尾添加两个“0”,则该新数将是原数的?( )

2.

2023年亚运会将在杭州举办。关于2023,若将其转换为二进制数,则末位数字为?( )

3.

二进制数10010,转换为十进制数和十六进制数分别为?( )

4.

Python中,int('1010',8)语句的作用是?( )

5.

假设cai.csv文件内容如下图所示,那么下列代码的输出结果是?( )

f = open('cai.csv', 'r')
c = []
for i in f:
    c.append(i.strip('\n').split(','))
f.close()
print(c)
6.

2023年中国航天事业再次刷新纪录,主要事件记录在abc.txt文件中,具体内容如下图所示,程序运行后s值是?(

7.

Python是强大的数据处理工具,能方便读写文件。 打开D:\test.csv,文件的内容如下图所示,

>>>f=open(r"D:\test.csv",'r')

>>>s1=f.read()

>>>s2=f.read()

>>>f.close()

运行上述程序,说法正确的是?(

8.

Python是强大的数据处理工具,目前受到大家青睐。下列说法错误的是?( )

9.

运行下面一段程序,说法正确的是?( )

f = open('yayun.txt', 'w')
f.write('迎亚运,创未来\nHeart to Heart\n')
f.close()
10.

语句print(chr(ord('a')+5))的运行结果是?( )

11.

表达式sum(map(int,'12345'))的返回值是?( )

12.

下列选项中,结果与其他三项不同的是?( )

13.

divmod(-9, 2)的结果是?( )

14.

下列代码创建了4个变量,其中变量值最大的是?( )

a = round(3.65)
b = int(max('123'))
c = 7/2
d = abs(-3.9)
15.

bool(0)的结果是?( )

16.

语句set('2023')的返回值是?( )

17.

a=[1,2,3,4,5],sum(a)的值是?(

18.

表达式str([1,2,3])的返回值是?( )

19.

下列选项中,对help函数的说法错误的是?( )

20.

通过input()函数输入的数据类型是?( )

21.

运行下面程序,错误的输入和输出数据是?( )

try:
    x=int(input())
    y=int(input())
    m=divmod(x,y)
    print(m)
except:
    print('error')
else:
    print('right')
finally:
    print('OK')
22.

运行下面程序,错误的输入和输出数据是?( )

try:
    x=eval(input())
    c=abs(x)
    print(c)
except NameError:
    print('NameError!')
except:
    print('Other error!')
23.

以下关于算法的描述错误的是?( )

24.

用冒泡排序对4,5,6,3,2,1进行从小到大排序,第二趟排序后的状态是?( )

25.

在对n个元素进行直接插入排序的过程中,一般共需要进行几趟?( )

判断题 共 10 题
1.

十六进制数转换成十进制数,其位数一定变多。( )

2.

表达式int("ob110",8)的结果应是72。( )

3.

Python中,readlines()每次按行读取文件内容,通常将读取到的内容放到一个字符串变量中,返回str类型数据。( )

4.

下列程序的功能是将列表对象输出到CSV文件。( )

shuig=['苹果','香蕉','桃子','西瓜']

f=open('shuiguo.csv','w')

f.write(','.join(shuig)+'\n')

f.close()

5.

CSV格式存储数据采用逗号分隔元素,也可以存储二维数据。( )

6.

以下代码的运行结果是False。( )

a = any([None,[],(),[{}]])

print(a)

7.

range(6)range(0,6)的结果相同。( )

8.

运行下列代码后,列表a中保存的元素是从小到大按顺序排列的。( )

a = [5, 6, 4, 8, 2, 7, 3, 1]

sorted(a)

9.

使用min函数可以获取多个数字中的最小值。( )

10.

try:
    x=int(input())
    y=int(input())
    n=x%y
    print(n)
except ValueError:
    print('ValueError!')
except ZeroDivisionError:
    print('ZeroDivisionError!')
except:
    print('Other error!')

当程序输入:

0

0

程序的运行结果是:

Other error!

问答题 共 3 题
1.

学校图书馆为了方便查找管理书籍,给每本书编写了号码,[8,9,10,12,13,14,16,17,25,27],输入号码提示这本书号码排第几。

例如:输入12,输出:要查找的书号12排第

请完善程序:

lst=[8,9,10,12,13,14,16,17,25,27]
hm=int(input('请输入书本号码'))
①
i,j=0,n-1
b=-1
while ② :
    m=(i+j)//2
    if ③ :
        b=m
        break
    elif hm>lst[m]:
    ④
    else:
    j=m-1
if b==-1:
    print('要查找的书号['+str(hm)+']不在列表lst中。')
else:
    print('要查找的书号['+str(hm)+']排第'+ ⑤ )
2.

有一个“/data/书籍存单.csv”文件,内容如下图所示。小明编写代码,想查询小说《封神榜》的价格,请补充代码中缺失的部分。

with open('/data/书籍存单.csv', 'r', encoding='utf-8') as f:
    for line in f.readlines():
        a = ① .split(",")
    if a[0] == "封神榜" :
        print( ② )
3.

当我们过马路的时候,经常会遇到红绿灯,你知道这些信号灯的时长是怎么来的吗?若要用python分析计算人行马路最短绿灯时长,我们需要知道马路的宽度s,行人的步行速度v以及行人的反应时长t0,因为绿灯的最短时长计算公式为t=s/v+t0

不同的人有不同的行走速度。通常在正常成人、老人、小孩的步行速度中,应选取老人或者小孩的数据进行计算比较合理。

Python模拟编写绿灯最短时长程序和测试输出结果(测试输入马路宽度为15)分别如下,请补全划线处代码:

v=1.2 #设置行走速度
t0=1 #设置行人反应时长
s=int(input("请输入马路的宽度(米):"))
t= ①
print(t)
#观察发现,在实际生活中,绿灯显示时长不可能为小数,因此若要上述输出结果正常,可以修改print(t)语句,那么你会如何修改?请在下方填入你的代码。
if t>int(t):
    print( ② )
elif t==int(t):
    print( ③ )
C++ 编辑器
输入
输出