2022.03全国青少年软件编程(Python)等级考试试卷(三级).docx
一、单选题(共25题,共50分)1.二进制数101100111对应的十六进制数的数值是?()A. 6B. 369C. 167D. 165试题类型:单选题标准答案:C试题难度:一般4. 八进制7与十六进制7相加,其对应的十进制数是?()A. 21B. 7C. 14D. 77试题类型:单选题标准答案:C试题难度:一般5. 关于语句f=open('c:/abc.csv', 'r'),下列描述不正确的是?()A. f是变量名;B. 以只读方式打开文件;C. 如果文件abc.csv不存在,会创建abc.csv;D. 'c:/abc.csv'代表c盘中一个名为'abc.csv'的文件。试题类型:单选题标准答案:C试题难度:一般试题解析:文件打开方式:r只读,不创建文件。6. 有如下从csv文件中读入数据的程序段:m=for lines in f:f.close()print(m)程序中存在错误的地方是?()A.B.C.D. f.close()试题类型:单选题 标准答案:C 试题难度:一般7. 对于 a=len(2,3,4,5,7,8,(9,10), a 的值是?()A. 4B. 6C. 8D. 7试题类型:单选题 标准答案:B 试题难度:一般8. 有关Python文件常用读写方式的描述,错误的是?()A. read()每次读取整个文件B. read()生成的文件内容是一个字符串C. readline()每次只读取文件的一行D. readlines()每次按行读取整个文件内容,将读取到的内容放到一个字符串中 试题类型:单选题标准答案:D 试题难度:一般 试题解析:readlines()每次按行读取整个文件内容,将读取到的内容放到一个列表中9. add='北京',上海',广州,深圳' f=open('city.csv','w') f.write(','.join(add)+' ') f.close()下列说法错误的是?()A. f=open('city.csv','w')说明当前是写入模式B. f.write(','.join(add)+'')语句改成 f.write(' '.join(add)+''),程序运行效C. 删除f.close()语句,不能正确保存文件D. 当前程序的功能是将列表对象输出到CSV文件 试题类型:单选题标准答案:B 试题难度:一般10. 当发生异常时,下列描述正确的是?()A. 需要捕获异常,然后进行相应的处理B. 需要把可能发生错误的语句放在except模块里C. 需要把处理异常的语句放在try模块里D. 需要为每一个try模块设定且只能设定一个except模块 试题类型:单选题标准答案:A试题难度:一般11. 下列程序段在运行时输入 ,则输出结果是?()try:a=eval(input()print(a)except NameError:print('Error!')A. ”2”B. 2.0C. Error!D. 2试题类型:单选题标准答案:D试题难度:一般12. 下列程序运行结果是?()c=int(a+b)print(c)A. 5B.B. 5.0C. 23试题类型:单选题标准答案:D试题难度:一般13. 执行代码a,b,c=sorted(1,3,2)之后,变量b的值为?()A. 1B. 3C. 2D. (1,3,2)试题类型:单选题标准答案:C试题难度:一般14. x = min('5678'),下列选项中语法错误的一项是?()A. print(max(float(x),7,6)B. print(max(ord(x),7,6)C. print(max(bin(x),7,6)D. print(max(int(x),7,6)试题类型:单选题标准答案:C试题难度:一般15. 以下表达式的值为Fasle的是?()A. all ()B. any('0')C. any(0,)D. all('a','b')试题类型:单选题标准答案:C试题难度:一般16. 以下表达式的值为True的是?()A. bool()B. bool(None)C.C. bool(range(0)试题类型:单选题标准答案:C试题难度:一般17. print(divmod(22,7)的运行结果是?()A. 3.0B. 3C. 3,1D. (3,1)试题类型:单选题标准答案:D试题难度:一般18. 下列表达式的结果与其他三项不相同的是?()A. abs(-3.4)B. round(abs(-3.4)C. abs(round(-3.4)D. min(round(3.4),round(3.8)试题类型:单选题标准答案:A试题难度:一般19. 关于ascii()函数,描述不正确的是?()A. ascii()返回一个对象的字符串B.ascii()返回一个对象的ASCII码的值C.ascii()的返回值的类型必然是字符串D. ascii(1)的结果是试题类型:单选题标准答案:B试题难度:一般20. 下列关于表达式的计算结果,不正确的是?()A. bool(2*3-0)的值为“True”B. bool(2*3-2)的值为“True”C. bool(2*3-3)的值为“True”D. bool(2*3-6)的值为“True”试题类型:单选题标准答案:D试题难度:一般21. 下列输出结果为的是?()A. print(1+2+3=6)B. print(1+2+3,'=6')C. print(1,2,3,sep='+','=6')D. print(1,2,3,sep='+',end='=6')试题类型:单选题标准答案:D试题难度:一般22. 下列函数能创建一个新的列表的是?()A. sorted()B. list()C. dict()D. set()试题类型:单选题标准答案:B试题难度:一般23. 关于算法的说法,下列说法正确的是?()A. 采用顺序查找算法,一定能找到数据B. 算法必须有输入和输出C. 对分查找算法不需要对数据进行排序D. 顺序查找算法不需要对数据进行排序试题类型:单选题标准答案:D试题难度:一般24. 有如下列表a=8,7,9,6,3,8,采用冒泡排序进行降序排序,请问第2趟排序之后的结果是?A. 9,8,7,6,8,3B. 8,9,7,8,6,3C. 9,8,7,8,6,3D. 9,8,8,6,7,3试题类型:单选题标准答案:C试题难度:一般试题解析:第一趟的结果:8,9,7,6,8,3,第二趟的结果:9,8,7,8,6,3。25. 有如下列表a=8,7,9,6,3,8,采用选择排序进行升序排序,请问第2趟排序之后的结果是?A. 7,8,6,3,8,9B. 3,6,9,7,8,8C. 7,6,3,8,8,9D. 3,6,7,8,8,9试题类型:单选题标准答案:B试题难度:一般试题解析:第一趟的结果:3,7,9,6,8,8,第二趟的结果:3,6,9,7,8,8。二、判断题(共10题,共20分)26. 在Python中,0x10010转化为十进制数是18。正确错误试题类型:判断题标准答案:错误试题难度:一般27. hex(int('12',16)的结果是'0x18。正确错误试题类型:判断题标准答案:错误试题难度:一般试题解析:是'0x1228. 在Python中,可以使用下面代码读取文件中的数据到列表。f = open('city.csv','r')name = f.read().strip(' ').split('')f.close()正确错误试题类型:判断题标准答案:正确试题难度:一般试题解析:也可以用分号做为切片依据,但得到的name结果为:列表中只有一整个字符串元29. 在Python中open('city.csv','r')命令的作用是以只读方式打开文件名为city的csv格式:正确错误试题类型:判断题标准答案:正确试题难度:一般30. 在Python中,向csv文件中写入数据时,用逗号合并列表name中的元素,可以使用f.writ正确错误试题类型:判断题标准答案:正确试题难度:一般31. try-except-else-finally异常处理结构中,不论try程序段中的语句有没有错误,finally正确错误试题类型:判断题标准答案:正确试题难度:一般32. 在Python中,执行print(ascii(ord('A')+12)语句,打印一个整型数值结果。正确错误试题类型:判断题标准答案:错误试题难度:一般33. 在Python中,sorted()函数可以实现对列表中数据的排序,但排序后不改变原列表中数据的正确错误试题类型:判断题标准答案:正确试题难度:一般试题解析:本题的主要考核sorted函数的用法34. 在Python中,表达式divmod(26,10)的输出结果为(2,6)或(3,-4)。正确错误试题类型:判断题标准答案:错误试题难度:一般35. 在Python中,chr(ord('b')-32)语句的功能是将小写字母b转换为大写字母B。正确错误试题类型:判断题标准答案:正确试题难度:一般三、编程题(共3题,共30分)36. 明明请你帮忙寻找100-999之间的所有“水仙花数”,并统计个数。“水仙花数”是指一个三位数 例如:153=1*1*1+5*5*5+3*3*3。要求输出结果如下所示:153370371407请编程实现上述功能,补全代码。for i in range():x=ia=x % 10x=( )b=x % 10c=x / 10if ():print (i)试题类型:编程题标准答案:参考程序:for i in range(100, 1000):x = ia = x % 10x 二 x / 10b 二 x % 10c 二 x / 10if (a * a * a + b * b * b + c * c * c 二二 i):print(i)试题难度:一般试题解析:评分标准: 100,1000或等效答案;(3分) x/10或等效答案;(3分) a*a*a+b*b*b+c*c*c=i 或等效答案。(4 分)37, 查找“支撑数”。在已知一组整数中,有这样一种数非常怪,它们不在第一个,也不在最后一个 吗?输入一个数组,输出每个支撑数的数值以及它们在数组中位置编号。示例:输入:1 3 2 4 1 5 3 9 7 10 8 23 85 43输出:3 24 410 1085 13请编写程序实现上述功能,补全代码。s=input()x=s.split('')a=for i in range(0,len(x):a. append(int()b=c=n=0for i in range(1, ):if (ai>ai-1 and ):b. append(ai)c. append()for i in range(_):print(bi,' Mi)试题类型:编程题标准答案:参考程序:s=input()x=s.split('')a=for i in range(0,len(x):a. append(int(xi)b=c=for i in range(1, len(a)T):if (ai>ai-1 and ai>ai+1):b. append(ai)c. append(i+1)for i in range(len(b):print(bi,' ',ci)试题难度:一般试题解析:评分标准: xi或等效答案;(3分) len(a)-1或等效答案;(3分) ai>ai+1或等效答案;(4分) i+1或等效答案;(3分) len(b)或等效答案;(3分)38, 请读取某班级语文学科的成绩文件score.txt的数据,数据内容如下图显示:score.txt - NotepadFile Edit Format View Help90897834拓9910078下列代码实现了读取数据并对每个成绩从小到大排序后并输出,请你补全代码。with open('/data/ ','r') as f:list = f.readlines()for i in range(0, len(list):listi = listi.strip('')listi=()(一)一print(list)f.close试题类型:编程题标准答案:参考程序:with open('/data/score.txt', 'r') as f:list = f.readlines()for i in range(0, len(list):listi = listi.strip('')listi=int(listi)list.sort()print(list) f.close试题难度:容易试题解析:评分标准:(1) score.txt(1 分)(2) int(listi)(1 分)(3) list.sort() (2 分)