小码农

趣味编程-面向每个人的创意编程

目录

一、单选题(共25题,共50分)

二、判断题(共10题,共20分)

三、编程题(共3题,共30分)


青少年软件编程(Python)等级考试试卷(五级)

分数:100  题数:38

一、单选题(共25题,共50分)

1. 下面有关random的常用方法,描述错误的是? ( )
A. random.random()生成一个[0.0,1.0)之间的随机小数
B. random.randint(a,b)生成一个[a,b]之间的随机整数
C. random.choice(seq)从序列中随机选择一个元素
D. random.uniform(a,b)生成一个[a,b]之间的随机字符
试题编号:20220221-ssn-002
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:random.uniform(a,b)生成一个[a,b]之间的随机小数
2. 有关jieba库的描述,错误的是? ( )
A. jieba库的分词原理是利用中文词库,将待处理的内容与词库比对后找到最大概率的词组
B. jieba.lcut(s)返回的可能是一个列表类型
C. jieba.cut(s)返回的可能是一个字符串类型
D. jieba.add_word(w)向分词词典中增加新词w
试题编号:20220221-ssn-003
试题类型:单选题
标准答案:C
试题难度:一般
3. 根据以下代码,描述错误的选项是? ( )

import wordcloud

txt=”what’s your name?”

w=wordcloud.WordCloud(background_color=”white”)

w.generate(txt)

w.to_file(‘px.png’)

A. background_color指定词云图片的背景颜色,默认为白色
B. generate向WordCloud对象中加载文本txt
C. to_file将词云输出为图像文件,.png或.jpg格式
D. wordcloud.WordCloud()代表一个文本对应的词云
试题编号:20220221-ssn-004
试题类型:单选题
标准答案:A
试题难度:一般
4. 已知 l=[‘Hello’, ‘World’, ‘Good’, ‘morning’, ‘LUCK’],则 list[1][2]的返回值为? ( )
A. ‘HW’
B. ‘e’
C. ‘o’
D. ‘r’
试题编号:20220221-ssn-01
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:
5. 以下序列对象的描述,非法的或者值为False的选项是? ( )
A. []
B. [None,0,”,]
C. (3,)!=3
D. (3)==[3]
试题编号:20220221-ssn-02
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:
6. 下列代码的运行结果是? ( )

def ous(n):

return n % 2 == 1

newlist = filter(ous, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

n=list(newlist)

print(n)

A. [1,2,3,4,5,6,7,8,9,10]
B. [10,9,8,7,6,5,4,3,2,1]
C. [2,4,6,8,10]
D. [1,3,5,7,9]
试题编号:20220221-ssn-021
试题类型:单选题
标准答案:D
试题难度:一般
7. 对于列表的方法pop()与remove()的区别与相同点,错误的描述是? ( )
A. 都是删除对象中的元素
B. pop()有返回值
C. remove()没有返回值
D. pop()如果不带参数,则表示默认参数值为0
试题编号:20220221-ssn-03
试题类型:单选题
标准答案:D
试题难度:一般
8. 执行下列代码,正确的答案是? ( )

l =[1,2,3,4,5]

a1=1;a2=1

for i in l:

if i % 3 == 0:

a1 += i

else:

a2 += i

print(a1-a2)

A. -10
B. -9
C. -8
D. -7
试题编号:20220221-ssn-04
试题类型:单选题
标准答案:B
试题难度:一般
9. 执行下列代码,正确的答案是? ( )

a,b,c = 16,17,18

s = 0

if a > b:

s = x

elif b > c:

s += c

s-= 1

print(s)

A. 2
B. 1
C. -1
D. 0
试题编号:20220221-ssn-05
试题类型:单选题
标准答案:C
试题难度:一般
试题解析:
10. 下列函数或操作,错误的为哪一项? ( )
A. >>>tuple(‘hello world’)
B. >>>tuple(range(1:3))
C. >>>tuple(range(3))
D. >>>tuple(map(str,range(3)))
试题编号:20220221-ssn-06
试题类型:单选题
标准答案:B
试题难度:一般
11. 已知 s=’3.1415926535898’,则 s[4:5]+s[-4:-2]的返回值为? ( )
A. ‘41589’
B. ‘4158’
C. ‘458’
D. ‘158’
试题编号:20220221-ssn-07
试题类型:单选题
标准答案:D
试题难度:一般
12. print(‘\x66’)的结果是? ( )
A. \x66
B. ‘\x66’
C. B
D. f
试题编号:20220221-ssn-08
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:\x**表示2位十六进制数对应的字符
13. 求执行下列操作后的正确结果? ( )

>>> st=’www.lxjy.com’

>>> st.split()

A. [www,lxjy,com]
B. [‘www’,’lxjy’,’com’]
C. [‘www.lxjy.com’]
D. [www.lxjy.com]
试题编号:20220221-ssn-09
试题类型:单选题
标准答案:C
试题难度:一般
14. 运行下列代码,正确的结果是? ( )

st = [‘zhangsan’,’lisi’,’wangwu’,’zhaoliu’,’zhouba’]

ans = st[0]

n = len(st[0])

for i in st:

if len(i)> n:

n = len(i)

ans = i

print(ans)

A. zhangsan
B. lisi
C. zhaoliu
D. zhouba
试题编号:20220221-ssn-10
试题类型:单选题
标准答案:A
试题难度:一般
15. 运行下列代码,输出结果为? ( )

s = [1,3,4, 3,1]

m,sum =s [0],0

for i in range(1,len(s)):

if s[i] > m:

m = s[i]

sum += m

print(sum)

A. 12
B. 15
C. 18
D. 8
试题编号:20220221-ssn-11
试题类型:单选题
标准答案:B
试题难度:一般
16. 请确认以下程序中有几处错误? ( )

import turtle

colors=[‘blue’,’red’,’green’,’yellow’]

t=turtle.Pen()

for i in range(100)

t.color(colors[i%5])

w+=2

t.forward(w)

t.left(89)

A. 1
B. 2
C. 3
D. 4
试题编号:20220221-ssn-12
试题类型:单选题
标准答案:B
试题难度:一般
17. 下列语句的输出结果是? ( )

for i in range(1,7):

if i%3==0:

break

else:

print(i,end=’,’)

A. 1,2
B. 1,2,
C. 1,2,4,5
D. 没有输出
试题编号:20220221-ssn-13
试题类型:单选题
标准答案:B
试题难度:一般
18. 执行如下 Python 程序段后, 说法不正确的选项是? ( )

a=[2,1,3,2,4,3]

n=len(a)

for i in range(2):

k=i

for j in range(i+1,n):

if a[k]>a[j]:

k=j

if i!=k:

a[i],a[k]=a[k],a[i]

print(a)

A. a= [1, 2, 3, 2, 4, 3]
B. for i in range(2)与for i in range(0,2)等价
C. k的值为1
D. for j in range(i+1,n):与for j in range(i+1,n+1):等价
试题编号:20220221-ssn-14
试题类型:单选题
标准答案:D
试题难度:一般
19. 2班级同学的分组情况以及考试成绩分别存储在字典xs和列表cj中。

若xs={“第1组”:[“小张”,”小李”,”小王”],”第2组”:[“小黄”,”小霞”,”小斌”],

“第3组”:[“小蓝”,”小华”,”小诚”]},cj=[{“小张”:90,”小李”:80,”小王”:75},

{“小黄”:86,”小霞”:70,”小斌”:89},{“小蓝”:67,”小华”:90,”小诚”:77}],

访问第1组第2位同学姓名以及他的考试成绩的方法为? ( )

A. xs[“第1组”][1],cj[0][“小李”]
B. xs[“第1组”][1],cj[1][“小李”]
C. xs[“第1组”][2],cj[0][“小李”]
D. xs[“第1组”][2],cj[1][“小李”]
试题编号:20220221-ssn-15
试题类型:单选题
标准答案:A
试题难度:一般
20. 执行如下 Python 程序段后,结果正确的选项是? ( )

d={1:2,3:4,5:6,7:8}

s=[5,1,7]

ans=””

for i in s:

ans +=str(d[i])

print(ans)

A. 517
B. 846
C. 628
D. 625
试题编号:20220221-ssn-16
试题类型:单选题
标准答案:C
试题难度:一般
21. 下列说法,正确的是? ( )
A. 集合类型是一个元素集合,元素之间无序
B. 集合类型是一个元素集合,元素可能重复
C. s=set{1,2,’3′},声明了一个集合S对象
D. 集合类型是一个元素集合,元素之间无序,元素类型必修相同
试题编号:20220221-ssn-17
试题类型:单选题
标准答案:A
试题难度:一般
22. 运行下列代码,正确的结果是? ( )

>>>x = set(‘runoob’)

>>> y = set(‘g’,’o’,’o’,’g’,’l’,’e’)

>>> x | y

A. {‘o’,’o’}
B. {‘n’, ‘u’, ‘g’, ‘r’, ‘,’, ‘o’, ‘b’, ‘l’, ‘e’, ‘’’}
C. {‘l’, ‘n’, ‘r’, ‘e’, ‘b’, ‘g’, ‘u’, ‘o’}
D. {‘o’}
试题编号:20220221-ssn-18
试题类型:单选题
标准答案:B
试题难度:一般
23. 使用map函数可以实现列表数据元素类型的转换,而无需通过循环。

则将列表s=[‘1′,’2′,’3′,’4’]转换为列表[1,2,3,4]的函数写法为? ( )

A. map(int,s)
B. map(s,int)
C. list(map(s,int))
D. list(map(int,s))
试题编号:20220221-ssn-19
试题类型:单选题
标准答案:D
试题难度:一般
24. 4 if 2>3 else 5的结果的是? ( )
A. 4
B. 5
C. False
D. 抛出错误
试题编号:20220221-ssn-20
试题类型:单选题
标准答案:B
试题难度:一般
25. 运行下面程序段,输出结果不可能是? ( )

import random

st=’nihaoworld’

a=random.randint(3,6)

n=len(st)

if len(st[:a])<len(st[a:]):

ans=st[a:]+st[:a]

else:

ans=st[:a]+st[a:]

print(ans)

A. oworldniha
B. aoworldnih
C. haoworldni
D. nihaoworld
试题编号:20220221-ssn-21
试题类型:单选题
标准答案:C
试题难度:一般
试题解析:a=2时,产生C的答案

二、判断题(共10题,共20分)

26. 对于列表l=[(0),1,2,3,4],all(l)的值是True。
正确 错误
试题编号:20220223-ssn-005
试题类型:判断题
标准答案:错误
试题难度:一般
27. >>>tuple(zip(“abcd”,range(3)))

返回一个元组结果。

正确 错误
试题编号:20220223-ssn-006
试题类型:判断题
标准答案:正确
试题难度:一般
试题解析:正确的答案是((‘a’, 0), (‘b’, 1), (‘c’, 2))
28. >>> ‘{0:%}’.format(3)返回’300%’;

>>>'{0:6.2f}’.format(3)返回’3.00’。

正确 错误
试题编号:20220223-ssn-007
试题类型:判断题
标准答案:错误
试题难度:一般
试题解析:'{0:%}’.format(3)返回’300.000000%’
29. >>>str=’nihao\nliping\nzhang san’

>>> str.split()

结果是:[‘nihao liping zhang san’]

正确 错误
试题编号:20220223-ssn-008
试题类型:判断题
标准答案:错误
试题难度:一般
试题解析:在调用方法split()时,若不传递任何参数,则会使用任何空白字符

(包括空格、换行符、制表符等)作为分隔符;若字符串存在连续的空白字符

,则按一个空白字符对待,并且返回结果中不包含任何空字符串。

30. range(10,0,-1)表示从对象的下标为10的元素开始,倒序取到下标为0的元素,但是不包括下标为0元素。
正确 错误
试题编号:20220223-ssn-009
试题类型:判断题
标准答案:正确
试题难度:一般
31. 字典是由键值对组成的。字典的键必须唯一,且不可变。字典通过键key去修改value值,

如果key不存在,则会报错。

正确 错误
试题编号:20220223-ssn-010
试题类型:判断题
标准答案:错误
试题难度:一般
32. 对于集合S,S.remove(x)可以移除S中元素x,如果x不在集合S中,产生KeyErrror异常。
正确 错误
试题编号:20220223-ssn-011
试题类型:判断题
标准答案:正确
试题难度:一般
33. 列表、元组、字符串均可以用set()转换为集合,例如:>>>set((1,2,2,3,4)),结果是{1,2,2,3,4}。
正确 错误
试题编号:20220223-ssn-012
试题类型:判断题
标准答案:错误
试题难度:一般
34. 下列语句的功能是创建一个0-10之间偶数的列表:

a = [x for x in range(11) if x%2==0]

正确 错误
试题编号:20220223-ssn-013
试题类型:判断题
标准答案:正确
试题难度:一般
35. 利用日期时间模块datetime,可以获取“今天”的日期,方法如下:

>>> import datetime

>>> datetime.date.today().weekday()

如果“今天”是星期六,则返回6。

正确 错误
试题编号:20220223-ssn-014
试题类型:判断题
标准答案:错误
试题难度:一般
试题解析:返回日期是星期几,[0, 6],0表示星期一,6表示星期天。

三、编程题(共3题,共30分)

36. 二进制数转十六进制数,可以先采用“按权展开,逐项相加”法,把二进制转十进制;再采用“除16求余法,逆序输出”的方法,把十进制数转为十六进制数。下列程序实现将二进制数转十六进制数,请完善以下程序代码。

st=”0123456789ABCDEF”

num = input(“请输入一个二进制整数:”)

n =    

s=0

ss=””

for i in range(n):

x=      

s+=x

t=s

while t>0:

ss=      

t=     

print(ss)

试题编号:20220226-ssn-101
试题类型:编程题
标准答案:

参考程序:

st=”0123456789ABCDEF”

num = input(“请输入一个二进制整数:”)

n = len(num)

s=0

ss=””

for i in range(n):

x=int(num[i])*2**(n-i-1)

s+=x

t=s

while t>0:

ss=st[t%16]+ss

t=t//16

print(ss)

试题难度:一般
试题解析:

评分标准:

① len(num);  (3分)② int(num[i])*2**(n-i-1);   (3分)③ st[t%16]+ss;   (2分)④ t//16。  (2分)

37. 验证哥德巴赫猜想

2000以内的不小于4的正偶数都能够分解为两个素数之和,验证哥德巴赫猜想对2000以内的正偶数成立。根据问题描述,为了验证哥德巴赫猜想对2000以内的正偶数都是成立的,要将正偶数整数分解为两部分,然后判断分解出的两个正整数是否均为素数。若是,则满足题意,否则应重新进行分解和判断。

输入:每次输入一个2000以内的不小于4的正偶数n。

输出:输出n能被分解成的素数a和b,如果不止一组解,则输出其中a最小的那组解即可。

请你补全代码。

import math

# 判断是否为素数

def fun(n):

if n == 2:

return 1

if n % 2 == 0:

return 0

i = 3

while i <= math.sqrt(n):

if       :

return 0

i += 2

return 1  # n是除2以外的素数返回1

# 验证哥德巴赫猜想

def guess(n):

k = 0

i = 2

while i <= (n // 2):

if fun(i):

if fun(n – i):

print(“%d  %d\n” % (  ②  ))

if i != 2:

i += 1

if k == 1:

   #结果得到验证,跳出循环

i += 1

while True:

n = input(“请输入2000以内>=4的正偶数:(输入’stop’结束运行)”)

if n==”stop”:

break

else:

     # 调用方法验证哥德巴赫猜想

试题编号:20220226-ssn-102
试题类型:编程题
标准答案:

参考程序:

# 验证哥德巴赫猜想

def guess(n):

k = 0

i = 2

while i <= (n // 2):

if fun(i):

if fun(n – i):

print(“%d  %d\n” % (i, n – i))

k = 1

if i != 2:

i += 1

if k == 1:

break #结果得到验证,跳出循环

i += 1

while True:

n = input(“请输入2000以内>=4的正偶数:(输入’stop’结束运行)”)

if n==”stop”:

break

else:

guess(int(n))   # 调用方法验证哥德巴赫猜想

试题难度:一般
试题解析:

评分标准:

① n % i == 0;(2分) ② i, n – i ;(2分) ③ k = 1;(2分) ④ break;(2分) ⑤ guess(int(n))。(2分)

往期精彩回顾

2022年|Scratch案例、真题、信息学汇总
Scratch少儿编程创意游戏:变形沙堆
教育部:关于面向中小学生违规竞赛活动的通报
Scratch少儿编程闯关游戏:斧子骑士
Scratch少儿编程投篮球游戏:灌篮吧!少年
Scratch社区飞机模拟器积木源码
Scratch少儿编程作品:新年倒计时
Scratch图形化编程等级考试四级真题
Scratch优秀塔防闯关作品:骷髅战争游戏
推荐|Scratch逻辑锻炼闯关游戏:牵线搭桥
Scratch案例:3D魔方(画笔版)
Scratch教程:3D游戏引擎案例(6个地图)
sb3转换成.exe.html.dmg.linux等方法教程
Scratch算法作品:快速寻路算法
9岁学生投稿:Scratch做的飞翔的小鸟小游戏
Scratch作品:新版马里奥 免费下载
Scratch递归教程:用画笔画树
Scratch少儿编程作品:保卫萝卜2.0
学Scratch对孩子有什么帮助
Scratch制作的俄罗斯方块游戏源码
Scratch贪吃蛇小游戏教程
上海三年级学生投稿:Scratch打砖块游戏
Scratch打篮球(练习、人机、双人)小游戏
信息学奥赛历年真题及C++编程题详解
投稿:Scratch软件做的超级马里奥游戏教程
初中生投稿:模拟Windows 11启动及桌面
什么是科技特长生,秒懂强基计划
Scratch教程高级版:王者荣耀小游戏
2022年6月1~4级Scratch编程题及参考答案
Scratch泡泡龙你能闯多少关
Scratch少儿编程游戏:见缝插针
Scratch高级教程:绝地求生游戏
Scratch环保主题:3D扔垃圾
Scratch高级教程:绝地求生游戏
发表评论