03 202109青少年软件编程(Python)等级考试试卷(二级)

标签:
普通文字版答案
2024-11-01
| 10页
| 107人阅读
| 2人下载

内容正文:

青少年软件编程(Python)等级考试试卷(二级) 202109真题与解析 分数:100  题数:37 测试时长:60分钟  一、单选题(共25题,每题2分,共50分) 1. 有如下Python程序段: x,y=12,5 if x % y==0:          z=x/y        print(x,"/",y,"=",z) else:         z=y*x  print(x,"*",y,"=",z) 程序段执行后,输出的结果为?( ) A、x/y=2.4 B、x*y=60 C、12/5=2.4 D、12*5=60   2. 下列创建元组的方法中不正确的是?( ) A、t=(1,2,'信息') B、t=(1) C、t=('信息',) D、t=('音乐','体育','美术')   3. s='语文、数学、英语、信息技术' l=s.split('、') print(l) 以上代码的运行结果为?( ) A、['语文', '数学', '英语', '信息技术'] B、['语文、数学、英语、信息技术'] C、('语文', '数学', '英语', '信息技术') D、('语文、数学、英语、信息技术')   4. 已知存在字典a中有多个键值对,以下指令可以清空字典并保留变量的是?( ) A、a.remove() B、a.pop() C、a.clear() D、del a   5. 以下程序的运行结果是?( ) list1=[1,2,3] list1[2]=4 print(list1) A、[1,2,4] B、[1,2,3] C、[1,4,3] D、[1,4]   6. 执行下列代码后,运行结果是?( ) l1 = [11, 22, 33] l2 = [66, 44, 22] for i in l1: for j in l2:  if i == j: print(i) A、 True B、0 C、2 D、22 7. 执行以下语句后的输出结果是?( ) str1='My name is BeiJing' print(len(str1)) A、20 B、18 C、15 D、16   8. 列表a=[1,2,3,4,5,6,7,8,9],对列表进行切片操作,要想得到[3,5,7],以下切片正确的是?( ) A、a[-7:-2:-2] B、a[2:7:2] C、a[3:7:2] D、a[2:7:-2]   9. 执行以下语句,将输出?( ) list1=['b','c',1,2,3,4,5] list1.append('a') list1.append('a') print(list1) A、['b','c',1,2,3,4,5]  B、['b','c',1,2,3,4,5,'a'] C、['b','c',1,2,3,4,5,'a','a'] D、无输出   10. 不能用作if语句条件表达式的是?( ) A、x in range(6) B、3=a C、a<3 and b>10 D、x-6>5   11. 执行以下语句后,输出的结果是?( ) list2 = ['a',1, 2, 3, 4, 5 ] print(list2[5]) A、5 B、4 C、3 D、提示错误   12. alist=['cat','bat','cat','hat','cat']执行下列代码,输出的结果是?( ) alist.remove('cat') print(alist)   A、['cat','bat','cat','hat','cat'] B、['bat','cat','hat','cat'] C、['bat','hat']  D、['cat','bat','cat','hat']   13. 以下创建字典的方法,正确的是?( ) A、d={学号,001,姓名,张三,成绩,98}  B、d={'学号':'001','姓名':'张三','成绩':98} C、d={'学号','001','姓名','张三','成绩',98}  D、d={'学号':'001';'姓名':'张三';'成绩':98}    14. 以下代码输出的结果是?( ) for i in "Python": if i == "t" or i == "o":  continue       print(i,end="")   A、Pyhn  B、Python C、Pyt D、Pytho   15. 对于字典dic={1:2,'3':'d','sex':1,4:{'No':1,'name':'Mike'}},len(dic)的值是?( ) A、3 B、4 C、5 D、6 16. 对于元组tup=(1,2,3,4,5)执行的操作非法的是?( ) A、len(tup) B、max(tup) C、min(tup) D、tup[1] = 6   17. 水果店促销每斤苹果5元,如果购买六斤及六斤以上还可以打八折,小红去买苹果,下面的哪一个的Python程序语句可以帮小红算一下她买苹果得花多少钱(具体购买斤数由小红输入)?( ) A、x=input("请输入斤数:") if x<6: y=5*x else: y=5*x*0.8 print(y) B、x=eval(input("请输入斤数:")) if x<6: y=5*x else: y=5*x*0.8 print(y) C、x=eval(input("请输入斤数:")) if x>=6: y=5*x*0.8 else: y=5*x print(y) D、x=input("请输入斤数:") if x>=6: y=5*x*0.8 else: y=5*x print(y) 18. 执行下列代码后,运行结果是?( ) s="垃圾分类" i=len(s) while i>0: print(s[i-1])  i=i-1 A、类 分 圾 垃   B、垃 圾 分 类 C、垃 圾 分 类 垃 D、类 分 圾 垃 类   19. 在列表a中存放1-100之间所有的奇数,可以有多种方法,以下哪种方法是错误的?( ) A、a=list(range(1,100,2))  B、a=range(1,101,2) C、a=[] i=1 while i<100:  a.append(i)  i+=2 D、a=[] for i in range(1,100,2):  a.append(i)   20. 若li=list(range(1,10,2)),则print(li)的结果是?( ) A、[0,2,4,6,8,10] B、[1,3,5,7,9] C、[1,2,3,4,5,6,7,8,9,10] D、[0,2,4,6,8]   21. 已知a=['a','b'],b=[7,8,9],如果c=a*2+b,那么列表c是?( ) A、['a','b','a','b',7,8,9] B、['a','b',2,7,8,9] C、['a','b',7,8,9,'a','b'] D、['a','b','a','b',7,8,9,7,8,9]   22. 已知a=[1,2,3,4,5,6,7],则a[0:-2]的的值是?( ) A、[1,2,3,4,5,6] B、[2,3,4,5,6] C、[1,2,3,4,5]  D、[2,3,4,5]   23. 以下语句不正确的是?( ) A、dict={1:'a'}  B、a={'name':'bob'} C、e={[1]:'篮球'} D、c={'school':'精英小学'}   24. 关于 break的作用,以下说法正确的是?( ) A、按照缩进跳出当前层语句块 B、暂停该语句后面的循环内容,跳转到循环开始位置开始下一轮循环 C、跳出当前层for/while循环 D、跳出所有for/while循环   25. 若s=(1,'a',[1,2]),则len(s)的值为?( ) A、错误 B、2 C、3 D、4   二、判断题(共10题,每题2分,共20分) 26. while循环和for-in循环一样,都明确了循环的次数。() 27. 可以使用“+”和“-”来连接与删除字符串。()   28. 不同类型的元素可以存储在同一个列表中。()   29. 循环结构中的continue语句的功能是中断当前循环的执行,进入下一轮循环条件是否满足的判断。()   30. ESC可以用于Python跳出循环。()   31. 按照顺序执行下面的代码,以下命令都是合法的。() list1=[1,2,3] list1[2]=4 tuple1=(1,2,3) tuple1[0]=0   32. Python列表、元组、字典都属于有序序列,都可以用索引进行访问。()   33. message1='Hello',则message1.append('world')的值为'Hello world'。()   34. 元组一旦创建,其中的元素就不能再被修改了。()   35. 运行以下程序,结果是一条由9行单个的#组成的图案。() i=0 while i<10: i=i+1     print('#')           三、编程题(共2题,共30分) 36. 日期转换 编写一个程序,实现用户输入一个日期,格式为"月/日/年",如输入'05/21/2021',程序输出日期为'May 21,2021'。 1至12月的英文名称如下: January,February,March,April,May,June,July,August,September,October,November,December。   37. 图形的循环美 设计一个海龟绘图程序,程序效果如下图(要求:海龟从里往外绘制图形,线条初始长度为20,相邻两条边相差4(每一个线条均比前一个线条长4),线条颜色为红色,总共边数至少80条以上(为了便于程序调试,建议不超过120条)。 参考答案及解析: 一、单选题答案及解析 1. D - 解析:12 和 5 不满足整除条件,执行 else 部分,z = y * x = 5 * 12 = 60,输出“12*5=60”。 2. B - 解析:创建单个元素的元组需要在元素后加逗号,选项 B 创建的是整数 1 而不是元组。 3. A - 解析:`s.split('、')`以“、”为分隔符将字符串分割成列表,结果为`['语文', '数学', '英语', '信息技术']`。 4. C - 解析:`a.clear()`可以清空字典并保留变量,`a.remove()`和`a.pop()`不是清空字典的正确方法,`del a`会删除变量。 5. A - 解析:`list1[2]=4`将列表`list1`索引为 2 的元素改为 4,结果为`[1, 2, 4]`。 6. D - 解析:两层循环遍历两个列表,当元素相等时输出,两个列表中只有 22 相等。 7. B - 解析:`len(str1)`计算字符串长度,字符串`'My name is BeiJing'`长度为 18。 8. B - 解析:列表切片`a[2:7:2]`从索引 2 开始到索引 7(不包括),步长为 2,结果为`[3, 5, 7]`。 9. C - 解析:`list1.append('a')`两次向列表添加元素`'a'`,结果为`['b','c',1,2,3,4,5,'a','a']`。 10. B - 解析:赋值语句不能作为条件表达式,选项 B 是错误的赋值语句。 11. A - 解析:列表索引从 0 开始,`list2[5]`对应的值是 5。 12. B - 解析:`alist.remove('cat')`只移除列表中第一个出现的`'cat'`,结果为`['bat','cat','hat','cat']`。 13. B - 解析:字典用大括号`{}`创建,键和值用冒号`:`连接,各个键值对用逗号`,`分隔。 14. A - 解析:当遇到字符“t”或“o”时使用`continue`跳过,输出其他字符,结果为“Pyhn”。 15. B - 解析:字典`dic`中有四个键值对,分别是`{1: 2,'3': 'd','sex': 1,4: {'No': 1,'name': 'Mike'}}`,所以`len(dic)`为 4。 16. D - 解析:元组是不可变的,不能通过赋值修改其中的元素。 17. C - 解析:先接收输入的斤数,判断如果大于等于 6 斤则打八折计算价格,否则按原价计算,选项 C 正确。 18. A - 解析:从字符串末尾开始循环打印字符,结果为“类分圾垃”。 19. B - 解析:选项 B 只是一个 range 对象,不是列表,不能直接作为存放奇数的方法。 20. B - 解析:`range(1, 10, 2)`生成 1 到 9 之间的奇数序列,转换为列表后是`[1, 3, 5, 7, 9]`。 21. A - 解析:`a * 2`得到`['a','b','a','b']`,再加上`b`,结果为`['a','b','a','b',7,8,9]`。 22. C - 解析:`a[0:-2]`表示从索引 0 开始到倒数第二个元素,结果为`[1, 2, 3, 4, 5]`。 23. C - 解析:字典的键必须是不可变类型,列表是可变类型不能作为字典的键。 24. C - 解析:`break`用于跳出当前层的`for`或`while`循环。 25. C - 解析:元组`s=(1,'a',[1,2])`中有三个元素,所以`len(s)`为 3。 二、判断题答案及解析 26. × - 解析:`while`循环不一定明确循环次数,只有在循环条件中明确判断条件时才能确定循环次数,而`for-in`循环通常是遍历可迭代对象,对于一些情况也不一定能明确循环次数。 27. × - 解析:在 Python 中不能使用“+”和“-”来连接与删除字符串,可以使用“+”连接字符串,但没有直接用“-”删除字符串的方法。 28. √ - 解析:不同类型的元素可以存储在同一个列表中。 29. √ - 解析:`continue`语句的功能是中断当前循环的执行,进入下一轮循环条件是否满足的判断。 30. × - 解析:在 Python 中,`ESC`不能用于跳出循环。 31. × - 解析:列表可以通过索引赋值修改元素,但元组是不可变的,不能通过索引赋值修改元素。 32. × - 解析:这句话是错误的。 列表和元组是有序序列,可以用索引进行访问。 但是字典是无序的(在 Python 3.6 之前是无序,3.6 及以后版本虽然在某种程度上是有序的,但这个顺序是基于插入顺序而不是传统意义上的顺序,且不能像列表和元组那样通过整数索引来严格确定位置),不能用整数索引进行访问,而是通过键来访问对应的值。 33. × - 解析:字符串是不可变类型,没有`append`方法。 34. √ - 解析:元组一旦创建,其中的元素就不能再被修改了。 35. × - 解析:循环中`i`从 0 开始,每次循环`i=i+1`,当`i=10`时循环结束,会输出 10 个“#”。 三、编程题解析 36. 参考代码: months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']# 定义一个列表,包含十二个月的英文名称 date = input("请输入日期(月/日/年格式):")# 接收用户输入的日期字符串,格式为“月/日/年” month, day, year = map(int, date.split('/')) # 将用户输入的日期字符串按照'/'分割成三个部分,分别对应月、日、年 # 然后使用 map 函数将这三个部分都转换为整数类型,并分别赋值给变量 month、day 和 year print(f'{months[month - 1]} {day}, {year}') # 根据 month 的值从 months 列表中取出对应的英文月份名称(因为列表索引从 0 开始,所以 month - 1) # 然后按照要求的格式输出日期,即“英文月份名称 日, 年” 总结:这段 Python 代码实现了一个简单的日期转换功能。它首先定义了一个包含十二个月英文名称的列表。然后要求用户输入一个日期,格式为“月/日/年”。接着,代码将用户输入的日期进行分割和类型转换,得到月、日、年三个整数。最后,根据月份的值从列表中取出对应的英文月份名称,并按照特定的格式输出日期。 37. 参考代码: import turtle as t # 导入 turtle 模块并将其重命名为 t,方便后续使用 t.pencolor('red') # 设置画笔颜色为红色 a = 20 # 初始化变量 a 为 20,用于控制线条长度 for i in range(100):# 开始一个循环,循环次数为 100 次 t.fd(a)# 让海龟向前移动 a 的长度 t.left(90)# 海龟向左转 90 度,形成一个正方形的一条边 a += 4 # 每次循环后,将 a 的值增加 4,使得下一次绘制的线条长度比上一次长 4 总结:这段 Python 代码使用`turtle`模块进行绘图。首先设置画笔颜色为红色,然后通过一个循环绘制一系列边长不断增加的正方形(实际上是依次绘制四条边)。循环变量`i`控制循环次数,变量`a`控制每次绘制线条的长度,每次循环后`a`的值增加 4,从而实现了从里往外绘制图形且线条长度逐渐增加的效果。循环次数为 100 次,可以绘制出较多的边。 学科网(北京)股份有限公司 $$

资源预览图

03 202109青少年软件编程(Python)等级考试试卷(二级)
1
03 202109青少年软件编程(Python)等级考试试卷(二级)
2
03 202109青少年软件编程(Python)等级考试试卷(二级)
3
所属专辑
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。