2024年2月7日发(作者:汽油价调整最新消息价格)

2023年5月青少年软件编程(Python)等级考试二级

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

1. 运行以下程序,如果通过键盘先后输入的数是1和3,输出的结果是?( D )(2分)

a=int(input())

b=int(input())

if a < b:

a=b

print(a)

A. 3 1 B. 1 3 C. 1 D. 3

2. 运行以下程序,输出的结果是?( C )(2分)

n=10

s=0

m=1

while m<=n:

s=s+m

m=m+1

print(s)

A. 45 B. 50 C. 55 D. 60

答案解析:本题考的是while循环,程序的意识是计算1+2+3+......+10,结果是55,答案选择C

3. 以下代码的输出结果是?( A )(2分)

vlist = list(range(5))

for e in vlist:

print(e,end=\",\")

A. 0,1,2,3,4, B. [0, 1, 2, 3, 4] C. 0 1 2 3 4 D. 0;1;2;3;4;

答案:list(range(5))的值为[0,1,2,3,4];后面的程序是将列表中的值一个一个的取出来,所以选择A。

4. 以下程序的输出结果是?( B )(2分)

n=0

while n<10:

n=n+2

if n==6:

continue

1

2023年5月青少年软件编程(Python)等级考试二级print(n)

A. 5 B. 10 C. 6

D. 8

答案:最后一次循环开始的时候,n的值为8,但是经过n=n+2运算后,n变成了10,所以最后的结果是10.

5. 运行以下程序,输出的结果是?( B )(2分)

numbers=[1,2,3,4]

([5,6,7,8])

print(len(numbers))

A. 4 B. 5 C. 8 D. 12

答案解析:根据题意,[5,6,7,8]是作为一个整体元素添加到原来的列表中,所以原来的列表长度会变成5.

6. 以下代码的输出结果是?( D )(2分)

s=[4,2,9,1]

(3,3)

print(s)

A. [4,2,9,1,2,3] B. [4,3,2,9,1] C. [4,2,9,2,1] D. [4,2,9,3,1]

答案解析:根据题意,将3插入到列表下标为3的元素位置上(第四个元素),所以选D。

7. 关于下列程序,说法正确的是?( C )(2分)

num=0

while num<10:

print(\"=\")

A. 在while代码块中无论加什么都不能改变死循环

B. 在while代码块中加一行代码num-=1可以改变死循环

C. 这个while循环是一个死循环,会一直打印\"=\"

D. 运行结果打印输出10个\"=\"语句

答案解析:此题考查while条件循环,在循环中增加num += 1,便能改变死循环,排除A;加一句num -= 1,num从0开始自减,num<10也总是成立,还是死循环,排除B;num值一直没变,num<10总是成立,会一直打印\"=\",排除D,故选C。

8. 运行以下程序,输出的结果是?( D )(2分)

list5=[\'1\',\'2\',\'4\',\'6\',\'9\']

print(list5[2])

A. 1

B. 2

2

C. 3 D. 4

2023年5月青少年软件编程(Python)等级考试二级9. 下列说法正确的是?( D )(2分)

A. 元组的元素值可以随意修改

B. 可以用del语句删除元组中的某个元素

C. tup1=(5)是一个合法的元组

D. tup1=(\'turtle\',\'fish\',65536)是一个合法的元组

答案:元组的元素值不可以修改;del语句只能删除整个元组,不能删除某个元素;

10. 在Python语言中,表达式[1,2]*2的值是?( C )(2分)

A. [2,4] B. 6 C. [1,2,1,2] D. [1,2,2]

答案解析:列表的乘法运算是将列表中的元素重复N次(N为乘数);所以选C。

11. 在Pyhton语言中,表达式[2] in [1,2,3,4,5]的值是?( D )(2分)

A. 0 B. 1 C. True D. False

答案:[2]是一个列表,虽然[1,2,3,4,5]中有2,但是这个2并不是列表,而是整型数据,所以返回值是False。

12. d={\"王明\":178,\"张华\":158,\"于飞\":189,\"刘英\":164},则d[\"于飞\"]的值是?( D )(2分)

A. -2 B. 2 C. \'于飞\' D. 189

答案解析:d[\"于飞\"]代表的是字典中键为\"于飞\"的值,所以选D。

13. 下列说法正确的是?( C )(2分)

A. 字典只能存储字符串,不能存储其他类型的对象

B. dict11={:}可以创建一个空字典

C. {123:456}是一个合法的字典

D. 字典的值必须是唯一的,键不必是唯一的

答案解析:字典可存储任意类型对象;字典中的键和值之间必须用冒号隔开,但是空字典不需要用冒号隔开,{}可以创建一个空字典;字典的键必须是唯一的,值不必是唯一的

14. 运行以下程序,共计输出了几个hello?( C )(2分)

for i in range(3):

print(\"hello\")

A. 1 B. 2 C. 3 D. 4

答案解析:循环执行了3次,所以输出了3个hello

15. 下列程序的运行结果是?( C )(2分)

lis1=[\"cat\",\"tomato\",\"dog\",\"apple\",\"dog\",\"dog\"]

3

2023年5月青少年软件编程(Python)等级考试二级print((\"dog\"))

A. 0 B. 1 C. 2

D. 3

答案解析:考察获取列表中某个元素出现第一次的下标。dog第一次出现的下标为2.

16. 运行以下程序,当从键盘输入1,程序运行结果是?( A )(2分)

str1=\'一二三四五六日\'

strid=int(input(\'请输入1-7的数字:\'))

print(\'星期\'+str1[strid-1])

A. 星期一 B. 星期+一 C. 星期二 D. 星期+二

答案解析:考察字符串的连接。题目中的下标进行了减一的运算,所以输入1,返回是星期一。

17. 下列程序的运行结果是?( A )(2分)

zd1={\'name\':\'Tom\',\'color\':\'blue\'}

zd1[\'name\']=\'Mike\'

print(zd1)

A. {\'name\': \'Mike\', \'color\': \'blue\'}

B. {\'name\': \'Mike\', \'color\': \'blue\', name\': \'Tom\'}

C. {\'name\': \'Tom\', \'color\': \'blue\'}

D. {\'name\': Tom\',\'name\': \'Mike\', \'color\': \'blue\', }

18. 若a= (1, 2, 3) ,执行下列哪个命令是会报错?( C )(2分)

A. a[1] B. list(a) C. a[1] = 4 D. a*5

答案解析:元组中的元素是不可以修改的,所以C选项错误。

19. s=\'happy birthday\'

print(s[13:-15:-2])

以上代码的运行结果是?( B )(2分)

A. 运行会报错 B. ydti pa C. ydtipa D. yadhtrib yppa

20. 下列程序执行的结果是?( D )(2分)

yz=(1,5,7,3,9)

list1=sorted(yz)

print(list1)

A. 报错 B. 1, 3, 5, 7, 9 C. (1, 3, 5, 7, 9) D. [1, 3, 5, 7, 9]

答案解析:元组可以用sorted()进行排序,但是输出的结果是列表。

4

2023年5月青少年软件编程(Python)等级考试二级

D. join( )

21. 以下哪个函数可以对字符串中的内容进行替换(注意:不是格式化输出)?( A )(2分)

A. replace( ) B. format( ) C. split( )

答案解析:replace( )函数用于字符串替换;split( )用于字符串分割;join( )用于串联;format( )用于格式化输出。

22. 运行以下程序,输出的结果是?( C )(2分)

list3=[\'11\',\'4\',5,1,4]

print(len(list3))

A. 1 B. 4 C. 5 D. 8

答案解析:list3列表有五个元素,所以len()方法的返回值为5

23. 下列说法错误的是?( A )(2分)

A. 字典一旦创建就不能被修改

B. a={}是一个空字典

C. {123:\'123\'}是一个合法的字典

D. 在同一个字典中,字典的键具有唯一性

答案解析:字典可以被修改;{}可以创建一个空字典;字典的键必须是唯一的。

24. 列表ls=[\'H\', \'a\', \'p\', \'p\', \'y\', \'!\'],下列说法错误的是?( C )(2分)

A. ls[:6]的值是[\'H\', \'a\', \'p\', \'p\', \'y\', \'!\']

B. ls[:-6]的值是[]

C. ls[6]的值是\'!\'

D. ls[2:-2]的值是[\'p\', \'p\']

答案:ls列表下标最大值是5,ls[6]将引用ls列表下标为6的元素,将会抛异常(列表索引超出范围)

25. 使用tuple函数创建元组错误的是?( A )(2分)

A. tuple(20,30) B. tuple(\'你好\') C. tuple([2,0,1,3]) D. tuple(\'12345\')

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

26. append()方法可以在列表末尾添加一个元素。( 对 )

27. 下列程序写法是正确的。( 错 )

score=50

if score>=60:

print(\"合格\")

else:

print(\"不合格\")

5

2023年5月青少年软件编程(Python)等级考试二级28. 判断下列语句是否正确。( 对 )

>>>book={\'格林童话\':1001,\'安徒生童话\':1002}

29. 判断下列语句是否正确。( 错 )

if 5>3

print(\"5大于3\")

30. 在while循环中,如果想返回到循环的开头处,可以使用break语句。( 错 )

答案解析:使用continue语句返回循环的开头

31. 执行以下程序,运行结果是:( 错 )

for i in range(1,5,2):

print(3)

>>>3

>>>3

>>>3

32. 执行print(\"e\" in \"hello\")的输出结果为True。( 对 )

答案解析:in是成员运算符,如果字符串中包含给定的字符,则返回True

33. (3) in (1, 2, 3) 的结果是 True。( 对 )

答案解析:(3)中没有逗号,不表示元组,表示整数类型的3。

34. 代码print(\'{}-{}*{}={}\'.format(20,3,4,8))打印的结果是20-3*4=8。( 对 )

答案解析:根据format运算的规则:print(\'{}-{}*{}={}\'.format(20,3,4,8))是将后面的(20,3,4,8)里的数字依次填入前面的大括号中。

35. 元组是不可变序列,列表是可变序列。( 对 )

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

36. 体重比较器

要求: 请编程实现如下功能:

(1)程序开始运行时,提醒用户输入三个人的名字和体重(可以分开输入,每次输入名字或者体重);

(2)程序自动比较,找出最重的一个人的名字和体重;

(3)输出的格式不限,但是要有最重人的姓名和体重信息。

6

2023年5月青少年软件编程(Python)等级考试二级

参考程序1:

w1 = int(input(\"请输入第一个人的体重:\"))

n1 = input(\"请输入第一个人的名字:\")

w2 = int(input(\"请输入第二个人的体重:\"))

n2 = input(\"请输入第二个人的名字:\")

w3 = int(input(\"请输入第三个人的体重:\"))

n3 = input(\"请输入第三个人的名字:\")

maximum = w1

m_name = n1

if w2 > maximum:

maximum = w2

m_name = n2

if w3 > maximum:

maximum = w3

m_name = n3

print(\"体重最重的人是:\",m_name)

print(\"他的体重是:\",maximum)

参考程序2:

name=[]

weight=[]

for i in range(3):

a = input(\'请输入姓名:\')

b = int(input(\'请输入体重:\'))

(a)

(b)

c = max(weight)

d = (c)

print(\"体重最重的人是:\",name[d])

print(\"他的体重是:\",c)

7

2023年5月青少年软件编程(Python)等级考试二级评分标准:

(1)按照题意,要分别输入三个人的名字和体重;(每项0.5分,共3分)

(2)有条件语句或者使用了排序或者最值计算;(4分)

(3)用到变量存储体重和姓名;(4分)

(4)有数据类型转换;(每转换一次1分,共3分)

(5)结果正确输出。(1分)

37. 统计语句中指定字符的个数

要求:

(1)统计的语句为:Were you born on August 21, 1994

(2)要求使用条件语句,统计该句中所有英文字母、数字的个数的和(不包括空格、逗号等标点符号);

(3)输出一个整数,表示所有英文字母和数字的个数的和。

参考程序:

str = \'Were you born on August 21, 1994\'

n = 0

for i in str:

if i==\' \' or i==\',\':

continue

else:

n+=1

print(n)

评分标准:

(1)能正确存储字符串;(2分)

(2)创建计数变量;(2分)

(3)有循环遍历字符串(或迭代对象);(2分)

(4)判断字符的值;(2分)

(5)在循环中正确进行计数;(2分)

(6)输出格式正确;(2分)

(7)代码执行完全正确无误。(3分)

8

更多推荐

答案,程序,列表,解析,字典,结果,输出