做淘宝客网站用什么程序好,自己怎么健网站视频教程,有没有做皮艺的网站,wordpress xmlrpc青少年软件编程#xff08;Python#xff09;等级考试试卷#xff08;三级#xff09; 分数#xff1a;100 题数#xff1a;38 一、单选题(共25题#xff0c;共50分) 1.一个非零的二进制正整数#xff0c;在其末尾添加两个“0”#xff0c;则该新数将是原数的#xf…青少年软件编程Python等级考试试卷三级 分数100 题数38 一、单选题(共25题共50分) 1.一个非零的二进制正整数在其末尾添加两个“0”则该新数将是原数的 A. 10倍 B. 2倍 C. 4倍 D. 8倍 标准答案C 试题解析二进制进位规则是逢二进一因此末尾添加一个0是扩大2倍添加两个0是扩大4倍。如二进制1——10——100其大小分别为1,2,4。 2.2023年亚运会将在杭州举办。关于2023若将其转换为二进制数则末位数字为 A. 0 B. 1 C. 3 D. 不确定 标准答案B 试题解析由于2023是单数奇数因此第一次除以2的余数将是1根据十进制转二进制方法该余数为二进制的最低位。 3.二进制数10010转换为十进制数和十六进制数分别为 A. 18和12 B. 36和1A C. 50和1A D. 36和12 标准答案A 试题解析二进制转十进制是按权展开相加法1001021 * 241 * 211810二进制转十六进制是从低位开始每四位二进制数转换为一位十六进制数故为12。 4.在Python中int(‘1010’,8)语句的作用是 A. 将十进制数1010转化为八进制数1010 B. 将二进制数1010转化为八进制数12 C. 将八进制字符串“1010”转化为八进制整数 D. 将八进制数“1010”转化为十进制整数 标准答案D 试题解析int(‘1010’,8)语句的作用是将八进制数“1010”转化为十进制整数。 5.假设cai.csv文件内容如下图所示那么下列代码的输出结果是
f open(‘cai.csv’, ‘r’) c [] for i in f: c.append(i.strip(‘\n’).split(‘,’)) f.close() print© A. [[‘肉’,‘15’],[‘白菜’,‘8’]] B. [‘肉’,‘15’,‘白菜’,‘8’] C. [‘肉’,‘15’],[‘白菜’,‘8’] D. ‘肉’,‘15’,‘白菜’,‘8’ 标准答案A 试题解析从csv格式文件读取数据得到的是列表对象。 6.2023年中国航天事业再次刷新纪录主要事件记录在abc.txt文件中具体内容如下图所示程序运行后s值是
f open(r’abc.txt’,‘r’) s f.readline() print(s) A. 5月11日,天舟六号 B. 5月30日,神舟十六 C. 6月 7日,力箭一号 D. 6月16日,长征二号 标准答案A 试题解析readline()是只读取一行所以答案是A而read()是读取全部内容。 7.Python是强大的数据处理工具能方便读写文件。 打开D:\test.csv文件的内容如下图所示
fopen(rD:\test.csv,r)
s1f.read()
s2f.read()
f.close()运行上述程序说法正确的是 A. s1 ‘hello python!’ B. s1 ‘hello word!’ C. s1 ‘hello python!\nhello word!\n’ D. s2 ‘hello python!\nhello word!\n’ 标准答案C 试题解析 read()函数的使用
fopen(rD:\test.csv,r)
s1f.read() #从文件指针所在位置读到文件结尾
s2f.read()#读取到了0个字节因为文件指针已经读到文件尾部
f.close()
s1hello word!\nhello word!\n
s28.Python是强大的数据处理工具目前受到大家青睐。下列说法错误的是 A. 数据文件格式丰富常见的有一维数据、二维数据和多维数据 B. read()函数可以读取整个文件的内容 C. write()函数向文件中可以写入列表、字符串、整型等数据类型内容 D. python中有许多函数能够直接对csv、excel、txt等文件内容读写、删除等操作 标准答案C 试题解析write()函数只能写入字符串类型的数据如果要写入其他类型的数据需要先将其转换为字符串类型。 9.运行下面一段程序说法正确的是 f open(‘yayun.txt’, ‘w’) f.write(‘迎亚运创未来\nHeart to Heart\n’) f.close() A. 运行程序后打印 ‘迎亚运创未来\nHeart to Heart\n’ B. 运行程序后打印 迎亚运创未来 C. 本段程序的功能是打开yayun.txt D. 如果python程序同目录下不存在yayun.txt将创建yayun.txt 标准答案D 试题解析考察学生对文件写入的理解如果没有yayun.txt将创建一个新的文件yayun.txt如果之前已有文件则会覆盖文件内容。 \n换行所以文件的内容是 迎亚运创未来 Heart to Heart 10.语句print(chr(ord(‘a’)5))的运行结果是 A. 66 B. e C. f D. g 标准答案C 试题解析ord(‘a’)可以获取字符a的ascii码将该ascii码加5后再转chr即可获得从a开始按顺序向后数5个的字符即f。答案选择C。 11.表达式sum(map(int,‘12345’))的返回值是 A. [1, 2, 3, 4, 5] B. [‘1’, ‘2’, ‘3’, ‘4’, ‘5’] C. 10 D. 15 标准答案D 试题解析map可以把序列’12345’中的每个字符转成int类型结果是一个包含数字1,2,3,4,5的迭代器。sum可以对上述结果进行求和所以结果是12345的和即15选择D。 12.下列选项中结果与其他三项不同的是 A. print(list(range(1, 10, 2))) B. print(list(range(1, 11, 2))) C. print(list(‘13579’)) D. print(list(map(int,[‘1’, ‘3’, ‘5’, ‘7’, ‘9’]))) 标准答案C 试题解析range(1, 10, 2)可以生成包含第1个参数不包含第2个参数间隔为第3个参数的序列所以range(1, 10, 2)生成的序列为1,3,5,7,9用list函数转换为列表[1,3,5,7,9]。 range(1, 11, 2)生成的序列也是1,3,5,7,9不包含11所以AB选项的结果相同。 list(‘13579’)可以将字符串中的每个字符保存到列表中但是数据类型是字符串与AB结果不同。 D选项中map函数将列表[‘1’, ‘3’, ‘5’, ‘7’, ‘9’]中的每个元素都转成整数最后保存成列表与AB选项相同。 所以选择C。 13.divmod(-9, 2)的结果是 A. (-5, 1) B. (-1, -4) C. (-4, -1) D. (1, -5) 标准答案A 试题解析divmod函数的结果是一个元组包含两个数字分别表示第1个参数除以第2个参数的整数部分和余数部分。 -9除以2的整数部分是-5余数为1余数的符号与除数的符号相同。所以结果为-5,1选择A。 14.下列代码创建了4个变量其中变量值最大的是 a round(3.65) b int(max(‘123’)) c 7/2 d abs(-3.9) A. a B. b C. c D. d 标准答案A 试题解析round函数的作用是四舍五入取整所以round(3.65)的结果是4 max(‘123’))的结果是’3’,转整数后是3 7/2的结果是3.5 abs(-3.9)将负数变成正数结果是3.9 综上所述4最大所以选择A。 15.bool(0)的结果是 A. True B. False C. 1 D. 0 标准答案B 试题解析0的布尔值是False。 16.语句set(‘2023’)的返回值是 A. {2, 0, 2, 3} B. {0, 2, 3} C. {‘2’, ‘0’, ‘2’, ‘3’} D. {‘0’, ‘2’, ‘3’} 标准答案D 试题解析set函数可以去掉序列中的重复元素所以选择D。 17.a[1,2,3,4,5],则sum(a)的值是 A. ‘[1,2,3,4,5]’ B. ‘15’ C. 15 D. ‘12345’ 标准答案C 试题解析sum()求列表a各元素的和和为15。 18.表达式str([1,2,3])的返回值是 A. [‘1’, ‘2’, ‘3’] B. ‘[1, 2, 3]’ C. [‘123’] D. str函数只能将数字转换成字符串表达式中的参数是一个列表运行报错 标准答案B 试题解析如果str中的参数是一个列表str函数会将列表看做一个字符串返回结果。 19.下列选项中对help函数的说法错误的是 A. 可以使用help函数查看某个数据类型的帮助信息 B. 可以使用help函数查看某个函数的帮助信息 C. 可以使用help函数查看某个模块的帮助信息 D. 对于自己定义的变量不可以使用help函数查看自定义变量的帮助信息 标准答案D 试题解析help函数可以获取某个变量、数据类型、函数、模块的帮助信息所以选项D说法错误选择D。 20.通过input()函数输入的数据类型是 A. int B. float C. str D. list 标准答案C 试题解析使用input函数输入的数据类型是string字符串类型。 21.运行下面程序错误的输入和输出数据是 try: xint(input()) yint(input()) mdivmod(x,y) print(m) except: print(‘error’) else: print(‘right’) finally: print(‘OK’) A. 输入 1 0
输出 error OK B. 输入 0 5
输出 (0, 0) right OK C. 输入 5 1
输出 (5, 0) right OK D. 输入 5 0
输出 0 right OK 标准答案D 试题解析考核 try…except…else…finally…格式。 22.运行下面程序错误的输入和输出数据是 try: xeval(input()) cabs(x) print© except NameError: print(‘NameError!’) except: print(‘Other error!’) A. 输入 0 输出 Other error! B. 输入 -2.5 输出 2.5 C. 输入 6 输出 6 D. 输入 abc 输出 NameError! 标准答案A 试题解析考核 try…except…格式和 abs()函数。 23.以下关于算法的描述错误的是 A. 算法可以用自然语言、流程图、伪代码、编程语言等多种方式进行表示 B. 顺序结构、选择结构、循环结构是算法的3种基本结构 C. 算法可以没有输出但必须有输入 D. 算法的执行步骤是有限的 标准答案C 试题解析 算法可以没有输入但必须有输出。 24.用冒泡排序对4,5,6,3,2,1进行从小到大排序第二趟排序后的状态是 A. 4 5 3 2 1 6 B. 4 3 2 1 5 6 C. 3 2 1 4 5 6 D. 2 1 3 4 5 6 标准答案B 试题解析 冒泡排序的基本思想是从头到尾依次比较相邻的两个元素如果前一个元素大于后一个元素则交换它们的位置。第一趟排序后最大的元素6已经排到了最后面数组变为4,5,3,2,1,6。第二趟排序时从头到尾依次比较相邻的元素发现4比5小因此不需要交换它们的位置5比3大需要交换它们的位置数组变为4,3,5,2,1,65比2大需要交换它们的位置数组变为4,3,2,5,1,65比1大需要交换它们的位置数组变为4,3,2,1,5,6最后6比5大不需要交换它们的位置数组变为4,3,2,1,5,6。因此第二趟排序后的状态为4,3,2,1,5,6选项B正确。 25.在对n个元素进行直接插入排序的过程中一般共需要进行几趟 A. 2 B. n-1 C. n D. n1 标准答案B 试题解析 直接插入排序的基本思想是将一个记录插入到已经排好序的有序表中从而得到一个新的、记录数增加1的有序表。在排序过程中需要进行n-1趟插入操作每一趟插入操作都会将一个记录插入到已经排好序的有序表中因此共需要进行n-1趟插入操作。因此选项B正确。 二、判断题(共10题共20分) 26.十六进制数转换成十进制数其位数一定变多。 正确 错误 标准答案错误 试题解析0~9范围内的数字在转换过程中其位数不变。 27.表达式int(“ob110”,8)的结果应是72。 正确 错误 标准答案错误 试题解析该表达式是错误的“0b”表示二进制“8”表示八进制矛盾。 28.在Python中readlines()每次按行读取文件内容通常将读取到的内容放到一个字符串变量中返回str类型数据。 正确 错误 标准答案错误 试题解析readlines()每次按行读取全部文件内容通常将读取到的内容放到一个列表中返回list类型数据。 29.下列程序的功能是将列表对象输出到CSV文件。 shuig[‘苹果’,‘香蕉’,‘桃子’,‘西瓜’] fopen(‘shuiguo.csv’,‘w’) f.write(‘,’.join(shuig)‘\n’) f.close() 正确 错误 标准答案正确 试题解析write()方法将shuig列表转化为字符串后写入到shuiguo.csv文件中。 30.CSV格式存储数据采用逗号分隔元素也可以存储二维数据。 正确 错误 标准答案正确 试题解析CSV格式可以储存二维数据。 31.以下代码的运行结果是False。 a any([None,[],(),[{}]]) print(a) 正确 错误 标准答案错误 试题解析 [{}]是包含一个空字典的列表列表不为空所以any的结果是True。 32.range(6)和range(0,6)的结果相同。 正确 错误 标准答案正确 试题解析range(6)和range(0,6)的运行效果相同省略了第1个参数。 33.运行下列代码后列表a中保存的元素是从小到大按顺序排列的。 a [5, 6, 4, 8, 2, 7, 3, 1] sorted(a) 正确 错误 标准答案错误 试题解析sorted()函数的作用是将序列排序默认从小到大排序但是不会修改原来序列中的元素排序所以列表a不变还是乱序的。 34.使用min函数可以获取多个数字中的最小值。 正确 错误 标准答案正确 试题解析min函数的作用是计算序列中的最小值。 35.try: xint(input()) yint(input()) nx%y print(n) except ValueError: print(‘ValueError!’) except ZeroDivisionError: print(‘ZeroDivisionError!’) except: print(‘Other error!’)
当程序输入: 0 0 程序的运行结果是: Other error! 正确 错误 标准答案错误 试题解析正确运行结果是ZeroDivisionError! 考核try…except…except…格式 和识记关键字“ValueError”和“ZeroDivisionError”。 三、编程题(共3题共30分) 36.学校图书馆为了方便查找管理书籍给每本书编写了号码[8,9,10,12,13,14,16,17,25,27]输入号码提示这本书号码排第几。 例如输入12输出要查找的书号12排第4 。 请完善程序 lst[8,9,10,12,13,14,16,17,25,27] hmint(input(‘请输入书本号码’)) ① i,j0,n-1 b-1 while ② : m(ij)//2 if ③ : bm break elif hmlst[m]: ④ else: jm-1 if b-1: print(‘要查找的书号[’str(hm)‘]不在列表lst中。’) else: print(‘要查找的书号[’str(hm)‘]排第’ ⑤ )
标准答案 参考程序
lst[8,9,10,12,13,14,16,17,25,27]
hmint(input(请输入书本号码))
nlen(lst)
i,j0,n-1
b-1
while ij:m(ij)//2if hmlst[m]:bmbreakelif hmlst[m]:im1else:jm-1
if b-1:print(要查找的书号[str(hm)]不在列表lst中。)
else:print(要查找的书号[str(hm)]排第str(b1))试题解析 评分标准 1nlen(lst)或等效答案3分 2ij或等效答案3分 3hmlst[m]或等效答案3分 4im1或等效答案3分 5str(b1))或等效答案。4分 展示地址点击浏览 37.书籍价格查询 有一个“/data/书籍存单.csv”文件内容如下图所示。小明编写代码想查询小说《封神榜》的价格请补充代码中缺失的部分。 with open(‘/data/书籍存单.csv’, ‘r’, encoding‘utf-8’) as f: for line in f.readlines(): a ① .split(“,”) if a[0] “封神榜” : print( ② )
标准答案 参考程序 with open(‘/data/书籍存单.csv’, ‘r’, encoding‘utf-8’) as f: for line in f.readlines(): a line.split(“,”) if a[0] “封神榜” : print(a[1]) 试题解析 评分标准 1line或等效答案2分 2a[1]或等效答案。2分
本题考查列表中数据位置的问题。a[1]对应的就是“价格”。
38.当我们过马路的时候经常会遇到红绿灯你知道这些信号灯的时长是怎么来的吗若要用python分析计算人行马路最短绿灯时长我们需要知道马路的宽度s,行人的步行速度v以及行人的反应时长t0,因为绿灯的最短时长计算公式为ts/vt0。 不同的人有不同的行走速度。通常在正常成人、老人、小孩的步行速度中应选取老人或者小孩的数据进行计算比较合理。 用Python模拟编写绿灯最短时长程序和测试输出结果测试输入马路宽度为15分别如下请补全划线处代码
v1.2 #设置行走速度 t01 #设置行人反应时长 sint(input(“请输入马路的宽度米”)) t ① print(t) #观察发现在实际生活中绿灯显示时长不可能为小数因此若要上述输出结果正常可以修改print(t)语句那么你会如何修改请在下方填入你的代码。 if tint(t): print( ② ) elif tint(t): print( ③ )
标准答案 参考程序 v1.2 #设置行走速度 t01 #设置行人反应时长 sint(input(“请输入马路的宽度米”)) ts/vt0 if tint(t): print(int(t)1) elif tint(t): print(int(t)) 试题解析 评分标准 1s/vt0或等效答案4分 2int(t)1 或等效答案3分 3int(t)或等效答案。3分)
解析1处根据题目给出的条件可知绿灯时长ts/vt0显然此处已知条件都已具备且根据输出结果来看计算的结果为浮点类型因此将公式表达为Python表达式即可即s/vt0。 2处由于绿灯的显示时长一般为整数若计算的结果为13.5那么实际时长应从14开始, 若结果恰好为13.0那么实际显示数据应是13即在计算公式保持不变的情况下我们应使得计算结果向上取整。从分支语句来看划线处可以使用int(t)1替代原来的print(t)语句。 3处无需加1。