全国青少年软件编程Python五级卷与答案.docx

上传人:b****7 文档编号:11146749 上传时间:2023-02-25 格式:DOCX 页数:27 大小:168.17KB
下载 相关 举报
全国青少年软件编程Python五级卷与答案.docx_第1页
第1页 / 共27页
全国青少年软件编程Python五级卷与答案.docx_第2页
第2页 / 共27页
全国青少年软件编程Python五级卷与答案.docx_第3页
第3页 / 共27页
全国青少年软件编程Python五级卷与答案.docx_第4页
第4页 / 共27页
全国青少年软件编程Python五级卷与答案.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

全国青少年软件编程Python五级卷与答案.docx

《全国青少年软件编程Python五级卷与答案.docx》由会员分享,可在线阅读,更多相关《全国青少年软件编程Python五级卷与答案.docx(27页珍藏版)》请在冰豆网上搜索。

全国青少年软件编程Python五级卷与答案.docx

全国青少年软件编程Python五级卷与答案

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

分数:

100  题数:

38

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

1.关于列表和元组的关系,下列描述不正确的是?

()

 A. 列表是包含若干元素的有序内存空间

B. 元组是包含若干元素的有序内存空间

C. 列表是包含若干元素的连续内存空间

D. 元组和列表本质上没有区别,只是元组是放在小括号中,列表是放于方括号中而已

试题编号:

20211113-ssn-01

试题类型:

单选题

标准答案:

D

试题难度:

一般

试题解析:

2.以下序列对象的描述,非法的或者值为False的选项是?

()

 A. []

B. [None,0,'',]

C. (8)!

=8

D. (8)!

=[8]

试题编号:

20211113-ssn-02

试题类型:

单选题

标准答案:

C

试题难度:

一般

试题解析:

3.对于列表的方法pop()与remove()的区别与相同点,正确的描述是?

()

 A. 都是删除与参数表中参数相同的元素

B. pop()没有返回值

C. remove()没有返回值

D. pop()如果不带参数,则表示默认参数值为0

试题编号:

20211113-ssn-03

试题类型:

单选题

标准答案:

C

试题难度:

一般

4.执行下列代码,正确的答案是?

()

>>>l=[10,0,1,6,12,8]

>>>l.sort(key=float)

>>>l

 A. [10.0,0.0,1.0,6.0,12.0,8.0]

B. [0,1,10,12,6,8]

C. [0,1,6,8,10,12]

D. [12,10,8,6,1,0]

试题编号:

20211113-ssn-04

试题类型:

单选题

标准答案:

C

试题难度:

一般

5.下列元组的声明,非法的是哪一项?

()

 A. t=0,

B. t=0,1

C. t=(0)

D. t=(0,1)

试题编号:

20211113-ssn-05

试题类型:

单选题

标准答案:

C

试题难度:

一般

试题解析:

6.下列函数或操作,错误的为哪一项?

()

 A. >>>tuple('helloworld')

B. >>>tuple(range(3))

C. >>>tuple(str,range(3))

D. >>>tuple(map(str,range(3)))

试题编号:

20211113-ssn-06

试题类型:

单选题

标准答案:

C

试题难度:

一般

7.赋值语句path=r'c:

\abc\xyz\tag.txt',执行结果是?

()

 A. path的值是'c:

\abc\xyz\tag.txt'

B. path的值是'c:

\bc\yz\ag.txt'

C. path的值是'c:

\\abc\\xyz\\tag.txt'

D. 提示出错

试题编号:

20211113-ssn-07

试题类型:

单选题

标准答案:

C

试题难度:

一般

试题解析:

8.print('\x65')的结果是?

()

 A. \x65

B. ‘\x65’

C. e

D. A

试题编号:

20211113-ssn-08

试题类型:

单选题

标准答案:

C

试题难度:

一般

试题解析:

9.求执行下列操作后的正确结果?

( )

>>>url=''

>>>url.split()

 A. [www,lxsz,com]

B. ['www’,’lxsz’,’com']

C. []

D. ['']

试题编号:

20211113-ssn-09

试题类型:

单选题

标准答案:

D

试题难度:

一般

试题解析:

10.运行下列代码,正确的结果是?

()

 >>>print("{:

06.2f}".format(3.1415926))

 A. ’003.14’

B. 003.14

C. ’3.14’

D. 3.14

试题编号:

20211113-ssn-10

试题类型:

单选题

标准答案:

B

试题难度:

一般

11.下列语句的输出结果是?

()

foriin'xyz':

    forjinrange(1,3):

        print(i,end='')

        ifi=='z':

            break

 A. xxyzz

B. .xxyyzz

C. xxyy

D. xxyyz

试题编号:

20211113-ssn-11

试题类型:

单选题

标准答案:

D

试题难度:

一般

试题解析:

12.请确认以下程序中有几处错误?

()

inputturtle

colors=['blue','red','green','yellow']

t=turtle.Pen()

foriinrange(100)

    t.color(colors[i%5])

    w+=2

    t.forward(w)

    t.left(89)

 A. 1

B. 2

C. 3

D. 4

试题编号:

20211113-ssn-12

试题类型:

单选题

标准答案:

C

试题难度:

较难

试题解析:

13.下列语句的输出结果是?

()

foriinrange(6):

    ifi%2==0:

        break

    else:

        print(i,end=',')

 A. 1,3,5,

B. 1,3,5

C. 0,2,4,

D. 没有输出

试题编号:

20211113-ssn-13

试题类型:

单选题

标准答案:

D

试题难度:

一般

14.有如下 Python 程序段:

importrandom

c=0

s=0

foriinrange(0,10):

    n=random.randint(1,101)

    ifn%2==0:

        s+=i

        c+=1

print(i)该程序段被执行后,下列说法不正确的是?

()

 A. 把程序s+=i改为s=s+i后,得到的结果是一样的。

B. i=9

C. 语句c+=1可能执行了10次

D. 变量s中存储的生成的10个随机数中偶数相加的和

试题编号:

20211113-ssn-14

试题类型:

单选题

标准答案:

D

试题难度:

较难

试题解析:

15.下列声明字典的语句,错误的是?

()

 A. d={}

B. d={‘name’:

'Tom',’age’:

20,’salary’:

3900}

C. d=dict(title='Python',author='Tom',price=59)

D. d=dict[('name','Jerry'),('age',20)]

试题编号:

20211113-ssn-15

试题类型:

单选题

标准答案:

D

试题难度:

一般

试题解析:

16.已知字典dict={"姓名":

["张三","李四","王五"],"投票数":

[18001,19682,23468]},

则print(dict["姓名"][1],dict["投票数"][0])的结果为?

()

 A. 张三18001

B. 张三19682

C. 李四18001

D. 李四19682

试题编号:

20211113-ssn-16

试题类型:

单选题

标准答案:

C

试题难度:

一般

17.下列说法,正确的是?

()

 A. 集合类型是一个元素集合,元素之间有序

B. 集合类型是一个元素集合,元素不能重复

C. s=set{1,2,’3’},声明了一个集合S

D. 集合类型是一个元素集合,元素之间无序,元素类型必修相同

试题编号:

20211113-ssn-17

试题类型:

单选题

标准答案:

B

试题难度:

一般

试题解析:

18.运行下列代码,正确的结果是?

()

>>>x=set('runoob')

>>>y=set('google')

>>>x | y 

 A. {‘o’,’o’}

B. {'r','b','u','n'}

C. {'l','n','r','e','b','g','u','o'}

D. {'o'}

试题编号:

20211113-ssn-18

试题类型:

单选题

标准答案:

C

试题难度:

一般

试题解析:

19.使用map函数可以实现列表数据元素类型的转换,而无需通过循环。

则将列表l=['1','3',

'5','7']转换为列表[1,3,5,7]的函数写法为?

()

 A. map(int,l)

B. map(l,int)

C. list(map(int,l))

D. list(map(l,int))

试题编号:

20211113-ssn-19

试题类型:

单选题

标准答案:

C

试题难度:

一般

试题解析:

20.m=[i**2foriinrange(4)]的结果的是?

()

 A. 16

B. 8

C. [0,1,4,9]

D. [1,4,9,16]

试题编号:

20211113-ssn-20

试题类型:

单选题

标准答案:

C

试题难度:

一般

21.importrandom

fibo=[1]*11

foriinrange(2,11):

fibo[i]=fibo[i-1]+fibo[i-2]

n=random.randint(1,10)

print(fibo[n])

运行该程序段,输出结果不可能是?

()

 A. 1

B. 21

C. 35

D. 89

试题编号:

20211113-ssn-21

试题类型:

单选题

标准答案:

C

试题难度:

一般

试题解析:

22.下列代码的运行结果是?

()

defjishu(n):

    returnn%2== 0

newlist=filter(jishu,[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]

试题编号:

20211114-ssn-001

试题类型:

单选题

标准答案:

C

试题难度:

一般

试题解析:

23.importrandom

lis=[0]*6

i=0

whilei<6:

lis[i]=random.randint(1,100)

iflis[i]%2!

=i%2:

i+=1

else:

break

运行该程序段,lis[0]~lis[5]各元素值可能的是?

()

 A. [3,19,0,0,0,0]

B. [95,44,39,24,0,0]

C. [2,37,88,61,56,9]

D. [0,0,0,0,0,0]

试题编号:

20211114-ssn-002

试题类型:

单选题

标准答案:

A

试题难度:

较难

试题解析:

24.有关jieba库的描述,错误的是?

()

 A. jieba库的分词原理是利用中文词库,将待处理的内容与词库比对后找到

最大概率的词组

B. jieba.lcut(s)返回的可能是一个元组类型

C. jieba.cut(s)返回的可能是一个元组类型

D. jieba.add_word(w)向分词词典中增加新词w

试题编号:

20211114-ssn-003

试题类型:

单选题

标准答案:

B

试题难度:

一般

试题解析:

25.要生成如下效果的图片,用不到的是以下哪个python库?

()

 A. jieba

B. wordcloud

C. matplotlib

D. pandas

试题编号:

20211114-ssn-004

试题类型:

单选题

标准答案:

D

试题难度:

一般

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

26.对于列表l=[(0,),1,2,3,4],all(l)的值是True。

 正确 错误  

试题编号:

20211114-ssn-005

试题类型:

判断题

标准答案:

正确

试题难度:

一般

试题解析:

27.>>>list(zip("abcd",range(3)))

返回出错

 正确 错误  

试题编号:

20211114-ssn-006

试题类型:

判断题

标准答案:

错误

试题难度:

一般

试题解析:

正确的答案是[('a',0),('b',1),('c',2)]

28.>>>'{0:

%}'.format(3.14)返回'3.140000%';

>>>'{0:

.2f}'.format(3.14)返回'3.14'。

 正确 错误  

试题编号:

20211114-ssn-007

试题类型:

判断题

标准答案:

错误

试题难度:

一般

试题解析:

'{0:

%}'.format(3.14)返回'314.000000%'

29.>>>str='nihao\nliping\nzhangsan'

>>>str.split()

结果是:

['nihao','liping','zhang','san']

 正确 错误  

试题编号:

20211114-ssn-008

试题类型:

判断题

标准答案:

正确

试题难度:

一般

试题解析:

在调用方法split()时,若不传递任何参数,则会使用任何空白字符(包括空格、换行符、制表符等)作为分隔符;若字符串存在连续的空白字符,则按一个空白字符对待,并且返回结果中不包含任何空字符串。

30.>>>dict(enumerate(range(3)))

返回值为{‘0’:

0, ‘1’:

1, ‘2’:

2}

 正确 错误  

试题编号:

20211114-ssn-009

试题类型:

判断题

标准答案:

错误

试题难度:

一般

试题解析:

返回值为{0:

0,1:

1,2:

2}。

31.某 Python程序段如下:

s="Errorsshouldneverpasssilently."

d={}

forchins:

ifchind:

d[ch]+=1

else:

d[ch]=1

print(d["e"])

运行该程序段,输出结果是2。

 正确 错误  

试题编号:

20211114-ssn-010

试题类型:

判断题

标准答案:

错误

试题难度:

较难

试题解析:

正确答案是3。

32.set()函数可以用于生成集合,输入的参数可以是任意组合数据类型,返回结果是一个无重复且有序的集合。

 正确 错误  

试题编号:

20211114-ssn-011

试题类型:

判断题

标准答案:

错误

试题难度:

一般

试题解析:

33.列表、元组、字符串均可以用set()转换为集合,例如:

>>>set((1,2,2,3,4)),结果是{1,2,3,4}

 正确 错误  

试题编号:

20211114-ssn-012

试题类型:

判断题

标准答案:

正确

试题难度:

一般

试题解析:

34.下列两个语句的功能可能是等价:

>>>l=[i*iforiinrange(5)]

>>>m=list(map(lambdax:

x*x,range(5)))

 正确 错误  

试题编号:

20211114-ssn-013

试题类型:

判断题

标准答案:

正确

试题难度:

一般

试题解析:

35.利用日期时间模块datetime,可以获取“今天”的日期,方法如下:

>>>importdatetime

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

如果“今天”是星期天,则返回0

 正确 错误  

试题编号:

20211114-ssn-014

试题类型:

判断题

标准答案:

错误

试题难度:

一般

试题解析:

返回日期是星期几,[0,6],0表示星期一,6表示星期天。

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

36.输入年月日,计算这一天是这一年的第几天。

编写自定义函数完成程序功能,完善程序代码。

"""

根据年月日,计算这一天是这一年的第几天

函数名 defgetDays(year)

参数  year:

表示日期;字符串类型如20211201

返回值 :

整数。

表示这一天是这年的第几天 

"""

defgetDays(year):

    s=0

    y=int(year[:

4])

    m=int(year[4:

6])

    d=int(year[6:

8])

    monthdays=(31,28,31,30,31,30,31,31,30,31,30,31)

    foriinrange(  ①  ):

        s=s+    ②  

    if(y%4==0andy%100!

=0ory%400==0)and   ③  :

        s=s+1

    s=s+d

    returns

year="20211201"

theday=   ④  

print(theday)

 

试题编号:

20211114-ssn-101

试题类型:

编程题

标准答案:

评分标准:

①m-1 (3分)

②monthdays[i]  (3分)

③m>2  (3分)

④getDays(year) (1分)

试题难度:

一般

试题解析:

参考程序:

defgetDays(year):

    s=0

    y=int(year[:

4])

    m=int(year[4:

6])

    d=int(year[6:

8])

    monthdays=(31,28,31,30,31,30,31,31,30,31,30,31)

    foriinrange(m-1):

        s=s+monthdays[i]

    if(y%4==0andy%100!

=0ory%400==0)andm>2:

        s=s+1

    s=s+d

    returns

year="20211201"

theday=getDays(year)

print(theday)

37.素数是只能被1和本身整除的正整数,因式分解就是将一个正整数分解成若干个素数相乘的形式。

用户从键盘输入小于1000的整数,对其进行因式分解,例如:

10=2*5,60=2*2*3*5。

完善程序代码。

#用户从键盘输入小于1000的整数,对其进行因式分解。

例如:

10=2*5,60=2*2*3*5。

x=input('Pleaseinputanintegerlessthan1000:

')

x=int(x)

t=x

①  

result=[]

whileTrue:

    ift==1:

        break

    ift%i==0:

        result.  ②

        t=t/i

    else:

          ③

s=''

foriinresult:

    s=  ④

s=  ⑤

print(x,'=',s)

 

试题编号:

20211114-ssn-102

试题类型:

编程题

标准答案:

评分标准:

① i=2      (2分) 

② append(i)  (2分) 

③ i+=1      (2分) 

④ s+str(i)+'*'(2分) 

⑤ s[:

-1]     (2分)

试题难度:

一般

试题解析:

参考程序:

#用户从键盘输入小于1000的整数,对其进行因式分解。

例如:

10=2*5,60=2*2*3*5。

x=input('Pleaseinputanintegerlessthan1000:

')

x=eval(x)

t=x

i=2

result=[]

whileTrue:

    ift==1:

        break

    ift%i==0:

        result.append(i)

        t=t/i

    else:

        i+=1

s=''

foriinresult:

    s=s+str(i)+'*'

s=s[:

-1]

print(x,'=',s)

38.设计一个算法,汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。

大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。

大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。

并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。

有三个单字符字符串和一个整数。

三个字符表示三个杆子的编号,整数为盘子的数目。

根据上述计算规则,补全下列代码。

函数名:

hannota(n,a,b,c)

参数表:

n--正整数表示盘子数,a--a杆子,b--b杆子,c--c杆子。

返回值:

移动路径。

示例:

n=3,返回:

A-->C

A-->B

C-->B

A-->C

B-->A

B-->C

A-->C

defhannota(n,a,b,c):

    ifn==1:

        print(a,"-->",c)

        return

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1