2022年3月青少年软件编程Python等级考试(三级)试卷
剩余时间 --:--:--
单选题 共 25 题
1.

关于语句f=open('c:/abc.csv', 'r'),下列描述不正确的是?

2.

八进制7与十六进制7相加,其对应的十进制数是?

3.

Python中,int('10',16)语句的作用是?

4.

Python中表示合法的八进制整数是? 

5.

二进制数101100111对应的十六进制数的数值是?

6.

以下表达式的值为Fasle的是?

7.

x = min('5678'),下列选项中语法错误的一项是?

8.

执行代码a,b,c=sorted((1,3,2))之后,变量b的值为?

9.

下列程序运行结果是?

a="2"
b="3"
c=int(a+b) 
print(c)
10.

下列程序段在运行时输入"2",则输出结果是?

try:
    a=eval(input())
    print(a)
except NameError:
    print('Error!')
11.

当发生异常时,下列描述正确的是?

12.
add=['北京','上海','广州','深圳'] 
f=open('city.csv','w') 
f.write(','.join(add)+'\n') 
f.close()

下列说法错误的是

13.

有关Python文件常用读写方式的描述,错误的是?

14.

对于a=len([2,3,4,5,[7,8],(9,10)]),a的值是? 

15.

有如下从csv文件中读入数据的程序段:

f=open("abc.csv","r")
m=[]
for lines in f:
   m.append(lines.strip("\n").split("\"))
f.close()
print(m)

程序中存在错误的地方是

16.

有如下列表a=[8,7,9,6,3,8],采用选择排序进行升序排序,请问第2趟排序之后的结果是?

17.

有如下列表a=[8,7,9,6,3,8],采用冒泡排序进行降序排序,请问第2趟排序之后的结果是? 

18.

关于算法的说法,下列说法正确的是?

19.

下列函数能创建一个新的列表的是?

20.

下列输出结果为"1+2+3=6"的是?

21.

下列关于表达式的计算结果,不正确的是

22.

关于ascii()函数,描述不正确的是? 

23.

下列表达式的结果与其他三项不相同的是

24.

print(divmod(22,7))的运行结果是?

25.

以下表达式的值为True的是?

判断题 共 10 题
1.

Python中,chr(ord('b')-32)语句的功能是将小写字母b转换为大写字母B。

2.

Python中,表达式divmod(26,10) 的输出结果为(2,6)或(3,-4)。

3.

Python中,sorted()函数可以实现对列表中数据的排序,但排序后不改变原列表中数据的位置。

4.

Python中,执行print(ascii(ord('A')+12))语句,打印一个整型数值结果。

5.

try-except-else-finally异常处理结构中,不论try程序段中的语句有没有错误,finally程序段中的语句都会得到执行。

6.

Python中,向csv文件中写入数据时,用逗号合并列表name中的元素,可以使用f.write(','.join(name)+'\n')语句(f为文件对象名)。

7.

Python中open('city.csv','r')命令的作用是以只读方式打开文件名为city的csv格式文件。

8.

Python中,可以使用下面代码读取文件中的数据到列表。

f = open('city.csv','r')
name = f.read().strip('\n').split(';')
f.close()
9.

hex(int('12',16))的结果是'0x18’

10.

Python中,0x10010转化为十进制数是18。

问答题 共 3 题
1.

请读取某班级语文学科的成绩文件score.txt的数据,数据内容如下图显示:

下列代码实现了读取数据并对每个成绩从小到大排序后并输出,请你补全代码。

with open('/data/   ①   ', 'r') as f:
    list = f.readlines()
for i in range(0, len(list)):
    list[i] = list[i].strip('\n')
    list[i]=  (  ②  )
    (  ③  )
print(list)
f.close
2.

查找“支撑数”。在已知一组整数中,有这样一种数非常怪,它们不在第一个,也不在最后一个,而且刚好都比左边和右边相邻的数大,你能找到它们吗? 输入一个数组,输出每个支撑数的数值以及它们在数组中位置编号。

示例:

输入:

    1 3 2 4 1 5 3 9 7 10 8 23 85 43

输出:

3   2

4   4

5   6

9   8

10   10

85   13

请编写程序实现上述功能,补全代码。

s=input()
x=s.split(' ')
a=[]
for i in range(0,len(x)):
   a.append(int(   ①   )
b=[]
c=[]
n=0
for i in range(1,   ②   ):
   if (a[i]>a[i-1] and   ③   ):
      b.append(a[i])
      c.append(   ④   )
 
for i in range(   ⑤   ):
   print(b[i],' ',c[i])
3.

明明请你帮忙寻找100-999之间的所有“水仙花数”,并统计个数。“水仙花数”是指一个三位数各位数字的立方和等于该数本身。

例如:153=1*1*1+5*5*5+3*3*3。要求输出结果如下所示:

153

370

371

407

请编程实现上述功能,补全代码。

for i in range(   ①   ):
   x=i
   a=x % 10
   x= (   ②   )
   b=x % 10
   c=x // 10
   if (   ③   ):
      print(i)
C++ 编辑器
输入
输出