202412 青少年软件编程等级考试Python三级真题 建议答题时长:60min
1. 单选题

以下选项中,哪一项转换后对应十进制数不是10?( )

A

0b1010

B

0o12

C

0xa

D

0d11

2. 单选题

以下选项中不会报错的是?( )

A

a='10'+0

B

int('X')

C

b=10/0

D

float(1.2)

3. 单选题

将十进制数52转换为二进制数时,该二进制数的位数是?( )

A

3

B

4

C

5

D

6

4. 单选题

下面哪个数值和其他不一样?( )

A

int("0O30",8)

B

(18)16

C

(25)10

D

(11000)2

5. 单选题

将十进制数522转换为十六进制数,最低位上的数是?( )

A

8

B

9

C

A

D

B

6. 单选题

以下代码的运行结果是?( )

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

result = list(map(str, numbers) )

print(result)

A

1, 2, 3, 4, 5

B

['1', '2', '3', '4', '5']

C

None

D

[1, 2, 3, 4, 5]

7. 单选题

divmod(134, 4)的结果是?( )

A

[33, 2]

B

(33, 2)

C

(2, 33)

D

[2, 33]

8. 单选题

函数round(3.576, 2) 的返回结果是?( )

A

3.50

B

3.58

C

3.57

D

4.00

9. 单选题

函数bool(None)的返回结果是?( )

A

True

B

False

C

None

D

0

10. 单选题

以下哪个函数可以用来将列表转换为集合?( )

A

list()

B

dict()

C

tuple()

D

set()

11. 单选题

在Python中,以下哪个表达式将返回False?( )

A

any([1, 2, 0])

B

any(['', 'hello', '!'])

C

any([{}, {1:2}, {3:4}])

D

any([False, False, False])

12. 单选题

以下哪个表达式将返回字符串'123'?( )

A

str(123.456)

B

int('123.456')

C

str(123)

D

float('123')

13. 单选题

下列哪个选项是用正确的方式来处理 input() 函数返回的字符串,以便将其转换为一个整数?( )

A

num = input("请输入一个数字:")

B

num = int(input("请输入一个数字:"))

C

num = str(input("请输入一个数字:"))

D

num = float(input("请输入一个数字:"))

14. 单选题

下列程序运行的结果是?( )
try:
   a=6
   b=0
   c=a/b
   print(c)
except:
   print('error!')

A

6

B

0

C

c

D

error!

15. 单选题

 

函数abs(-2.6)的返回值是?( )

A

-2.6

B

2.6

C

2

D

6

16. 单选题

函数ord("C")的返回值是什么?( )

A

48

B

57

C

67

D

99

17. 单选题

以下哪个选项不是算法的基本结构?( )

A

顺序结构

B

分支结构

C

循环结构

D

查找结构

18. 单选题

超市购物促销:购物满49元减5元,购物满99元减15元,根据所购物品金额求优惠率。解决此问题的合适算法是?( )

A

解析算法

B

枚举算法

C

排序算法

D

递归算法

19. 单选题

关于二分查找算法,下列描述错误的是?( )

A

二分查找的前提是被查找的数据序列是有序的

B

二分查找的次数难以确定,常用while语句实现循环

C

二分查找最坏的情况是查找n次结束

D

二分查找的区间范围会逐渐缩小

20. 单选题

Python表达式abs(int(-4.6))的计算结果是?( )

A

4

B

-4

C

5

D

-5

21. 单选题

 

小明编写了下列4行代码,请问,代码运行到最后,屏幕上打印出来的结果是?( )
a = ['红','橙','黄']
b = [1,2,3]
c = [b,a]
print(c[1][0])

A

2

B

1

C

D

22. 单选题

下面代码从"成绩.csv"文件中读出数据,并将数据以列表形式存储。请问,划线处的代码应该为?( )

f=open('成绩.csv','r')

a=f.read().strip().split(______)

f.close()

A

'。'

B

','

C

'\t'

D

'\n'

23. 单选题

以下代码将建立一个名为"姓氏.csv"的文件,划线处的代码应该为?( )
a=['赵','钱','孙','李','周','吴','郑','王']
f=open('姓氏.csv',______)
f.write(','.join(a)+'\n')
f.close()

A

‘W’

B

'R'

C

'w'

D

'r'

24. 单选题

如下图所示,有一个名为"价格.csv"的文件。小明针对这个文件编写了5行代码。

请问,代码运行到最后,打印在屏幕上的结果是?( )

with open('价格.csv', 'r', encoding='utf-8') as f:

   for line in f.readlines():
       a = line.strip().split(",")
       if a[1] == '9' :
           print(a[0])

A

西瓜

B

椰子

C

桔子

D

香梨

25. 单选题

如下所示的2行代码,最后print()函数打印出来的结果是?( )

c = [['赵大',21,'男','北京'],['钱二',20,'男','西安'],['孙三',18,'女','南京'],['李四',20,'女','杭州']]

print(c[1][3])

A

B

北京

C

西安

D

26. 判断题

hex()函数可以将十进制数转换成十六进制数。在Python交互式编程环境下,执行语句hex(11)后,显示的运行结果是'b'。( )

A

B

27. 判断题

二进制数、八进制数与十六进制数的末位如果是“1”,各转换为十进制数后都是奇数。( )

A

B

28. 判断题

使用with语句打开文件并处理文件后,必须使用close()函数关闭文件,以确保所有数据都被写入磁盘并释放系统资源。( )

A

B

29. 判断题

range(1, 11, 2)会生成一个包含数字1, 3, 5, 7, 9, 11的序列。( )

A

B

30. 判断题

使用sorted()函数可以给列表排序,参数reverse设置为True时,按从小到大排序;参数reverse设置为False时,按从大到小排序。( )

A

B

31. 判断题

以下代码可以计算列表a中各元素(得分)的平均分。( )

a = [90, 80, 70, 60, 50]

print( sum(a) / len(a) )

A

B

32. 判断题

all([])和any([])的结果都是True。( )

A

B

33. 判断题

列表中的pop()方法和del语句都能删除列表中被指定的元素。所以,如下4行代码运行之后,屏幕上将打印出 ['红','绿','蓝'],这个运行结果是对的。( )list1 = ['红','绿','蓝','白','紫']del list1[3]
list2=list1.pop(3)
print(list2)

A

B

34. 判断题

如果list1 = ['赵','钱','孙','李','周','吴','郑','王'],那么:

list1[1:-4] 肯定与 list1[1:4] 相等。请判断对吗?( )

A

B

35. 判断题

读以下程序代码,运行程序后,输出的是:发生了一个异常。( )

try:
   print(x)

except:
   print("发生了一个异常")

finally:
   print("请修改程序,再试一次!")

A

B

36. 编程题

分解质因数

输入一个整数,分解质因数。例如:输入90,打印出90=2*3*3*5。请完善以下代码,运行程序。

target=int(input('输入一个整数:'))
print(target,'= ',end='')
if target<0:
   target=                (target)
   print('-1*',end='')
flag=0
if target<=1:
   print(target,end='')
   flag=               
while True:
   if flag:
       break
   for i in range(2,int(target+1)):
       if              :
           print("%d"%i,end='')
           if target==i:
               flag=1
               break
           print('*',end='')
                          
           break

查看答案
37. 编程题

小王同学编写了一个成绩录入和查询系统,能实现输入多个互不相同的分数,自动进行从高到低排名,同时输入要查询的分数,可以获得相应同学的姓名。程序运行结果如下图所示,实现代码如下,请你补全空缺处。

n=int(input("请输入总人数:"))

name=[""]*n

score=[0]*n

#输入功能,分别输入姓名与分数

for i in range(n):

   name[i]=input("请输入第"+str(i+1)+"个人名:")

          ①        =int(input("请输入第"+str(i+1)+"个分数:"))

#排名功能

for i in range(n-1):

   for j in range(0,n-1-i):

       if score[j]       ②        score[j+1]:

           score[j],score[j+1]=score[j+1],score[j]

           name[j],name[j+1]=name[j+1],name[j]

print("——————各个同学分数排名如下——————")

print(name)

print(score)

#查询功能

i=0

      ③        

key=int(input("请输入要查询的分数:"))

b=-1

while i<=j and b==-1:

   m=(i+j)//2

   if score[m]==key:

       b=m

   elif score[m]<key:

       j=        ④        

   else:

       i=m+1

if b==-1:

   print("没有同学获得该分数!")

else:

print("分数为"+str(key)+"的同学是:"+        ⑤        )

查看答案
38. 编程题

统计总分

有下图左边名为“虚拟学校5年级学生数据.csv”的文件,要实现下图右边统计每位同学语、数、外三门学科的总分,小明编写了以下程序,请将红色 ①、② 两处的代码补充完整:

f = open('/data/                ','r',encoding='utf-8')

i = 1
for line in f:
   s = ""
   a = line.strip("").split(",")
   if i >= 2 :     #第一行是每列的标题,不用计算,要从第二行开始计算
       s = str(       ②        ) + ' 的总分为:' + str(int(a[5]) +int(a[6]) +int(a[7]) )
   i = i + 1
   print(s)
f.close

查看答案
试题目录
单选题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
判断题
26 27 28 29 30 31 32 33 34 35
编程题
36 37 38
赣ICP备20007335号-2