试卷 2022年12月电子学会软件编程Python等级考试试卷(三级)
2022年12月电子学会软件编程Python等级考试试卷(三级)
选择题
第 1 题    单选题

十进制数(100)10,转化为二进制数为( )2

A.

0010011

B.

1010001

C.

1100100

D.

0101100

第 2 题    单选题

在计算机中,信息都是采用什么进行存储?( )

A.

二进制数

B.

八进制数

C.

十进制数

D.

十六进制数

第 3 题    单选题

小明编写了一段演示插入排序的代码,代码如下。请问红色缺失代码处,应该填写哪段代码?(

a = [8,4,11,3,9]
count = len(a)
for i in range(1, count):
    j = i
    b = a[i]
    while j>0 and b<a[j-1] :
        a[j] = a[j-1]
        缺失代码
        a[j] = b
print(a)
A.

j=j-1

B.

j=j+1

C.

j=i+1

D.

j=i-1

第 4 题    单选题

小明为了学习选择排序的算法,编写了下面的代码。针对代码中红色文字所示一、二、三处,下面说法正确的是?(

a = [8,4,11,3,9]
count = len(a)
for i in range(count-1):
    mi = i
    for j in range(i+1,count):
         if a[mi] > a[j]:   #代码一
              mi = j   #代码二
     if i!=mi:
        a[mi],a[i] = a[i],a[mi]   #代码三
print(a)
A.

如果找到更大的元素,则记录它的索引号。

B.

如果找到更小的元素,则记录它的索引号。

C.

在一趟选择排序后,不管是否找到更小的元素,mi所在元素都得与i所在的元素发生交换。

D.

代码三所在的行必然要运行

第 5 题    单选题

列表L1中全是整数,小明想将其中所有奇数都增加1,偶数不变,于是编写了如下图所示的代码。请问,图中红线处,代码应该是?(

A.

x || 2

B.

x ^ 2

C.

x && 2

D.

x % 2

第 6 题    单选题

divmod(100,3)的执行结果是?( )

A.

(1, 33)

B.

(33, 1)

C.

[33,1]

D.

[1,33]

第 7 题    单选题

print(sum([5,10,min(7,4,6)]))的运行结果是?( )

A.

22

B.

21

C.

4

D.

19

第 8 题    单选题

set('hello')运行结果是?( )

A.

('h', 'e', 'l', 'l','o')

B.

{'h', 'e', 'l', 'l','o'}

C.

{'e', 'h', 'l', 'o'}

D.

('e', 'h', 'l', 'o')

第 9 题    单选题

执行如下代码 

a=[1,2,3,4]
print(list(enumerate(a)))

运行结果是?(

A.

((0, 1), (1, 2), (2, 3), (3, 4))

B.

[(0, 1), (1, 2), (2, 3), (3, 4)]

C.

[1,2,3,4]

D.

(1,2,3,4)

第 10 题    单选题

type([{2.6}])运行的结果是?( )

A.

float

B.

dict

C.

True

D.

list

第 11 题    单选题

a=5.12596 

print(round(a,2))运行结果是?(

A.

5

B.

5.1

C.

5.12

D.

5.13

第 12 题    单选题

print(max('python+'))的运行结果是?( )

A.

'p'

B.

p

C.

'y'

D.

y

第 13 题    单选题

执行代码a=min(3,2,4.3),变量a的值是?( )

A.

3

B.

2

C.

4.3

D.

4

第 14 题    单选题

十六进制数与二进制数的关系。

A.

100011

B.

110001

C.

232

D.

29

第 15 题    单选题

十六进制数每一位至多可以表示几位二进制位?( )

A.

2

B.

3

C.

4

D.

16

第 16 题    单选题

Python的异常处理机制中,以下表述哪项是错误的?( )

A.

如果当try中的语句执行时发生异常,Python就执行匹配该异常的except子句。

B.

如果当try中的语句执行时发生异常,try代码块的剩余语句将不会被执行。

C.

如果在try子句执行时没有发生异常,Python将执行else语句后的语句。

D.

异常处理结构能够发现程序段中的语法错误。

第 17 题    单选题

Python的异常处理try....except...else...finally机制中,以下哪部分语句一定能得到全部执行?( )

A.

try子句

B.

except子句

C.

else子句

D.

finally子句

第 18 题    单选题

对于在csv文件中追加数据,下列说法正确的是?( )

A.

只能以单行方式追加数据

B.

只能以多行方式追加数据

C.

多行数据追加的函数是writerow( )

D.

以单行方式或多行方式追加都可以

第 19 题    单选题

有关于write()函数的说法正确的是?( )

A.

write( )函数只能向文件中写入一行数据

B.

write( )函数的参数不是字符串类型

C.

write( )函数也可以向文件中写入多行数据

D.

write( )函数和writelines( )函数完全相同

第 20 题    单选题

关于下列列表,说法正确的是?( )
s=[ [“佩奇”,“100”,“86”,“85”,“90”],
[“苏西”,“78”,“88”,“98”,“89”],
[“佩德罗”,“80”,“66”,“80”,“92”]]

A.

这是一组二维数据

B.

这样的数据不能存储到CSV文件中

C.

无法读取[“佩奇”,“100”,“86”,“85”,“90”]这条数据

D.

必须手动写入到CSV文件中

第 21 题    单选题

关于文件的读写操作,下列说法不正确的是?( )

A.

read( )函数读取文件内容后,生成的是一个字符串 。

B.

readline( )每次只读取文件中的一行,并返回字符串类型数据。

C.

readlines( )函数每次按行读取整个文件的内容,并返回list类型数据。

D.

读取文件内容只能用reader( )对象。

第 22 题    单选题

有这样一段程序:
a=[“香蕉“,”苹果”,”草莓”,“哈密瓜”]
fs=open(“fruits.csv”,”w”)
fs.write(“,”.join(a)+‘\n’)
fs.close()
该段程序执行后,该csv文件中的内容是?( )

A.

香蕉 苹果 草莓 哈密瓜

B.

香蕉,苹果,草莓,哈密瓜

C.

香蕉苹果草莓哈密瓜

D.

["香蕉","苹果","草莓","哈密瓜"]

第 23 题    单选题

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

A.

bool(2022)

B.

bool(0)

C.

bool()

D.

bool({})

第 24 题    单选题

将字符串或数字转换为浮点数的函数是?( )

A.

chr()

B.

float()

C.

int()

D.

str()

第 25 题    单选题

下列表达式结果是False的是?( )

A.

all({})

B.

all([10])

C.

all(['1','2','3',''])

D.

all(['1','2','3'])

判断题
第 26 题    判断题

在计算机中,每一个二进制位可以表示0和1两种信息。( )

A.
正确
B.
错误
第 27 题    判断题

异常处理结构中,finally程序段中的语句不一定都会得到执行。( )

A.
正确
B.
错误
第 28 题    判断题

with open (‘fruits.csv’,’r’)as f 语句,打开fruits.csv文件,在处理结束后不会自动关闭被打开的文件,因此需要写上f.close( )语句。( )

A.
正确
B.
错误
第 29 题    判断题

一维数组可以用列表实现,二维数组则不能用列表实现。( )

A.
正确
B.
错误
第 30 题    判断题

f=open(‘ss.csv’,’r’)
n=f.read().strip(“\n”).split(“,”)
f.close()
这段代码的功能是读取文件中的数据到列表。( )

A.
正确
B.
错误
第 31 题    判断题

运行语句set('2022'),其输出结果是{'2','0','2','2'} ( )

A.
正确
B.
错误
第 32 题    判断题

语句print(tuple(range(5)))的输出结果是(0, 1, 2, 3, 4)。( )

A.
正确
B.
错误
第 33 题    判断题

map() 不会根据提供的函数对指定序列做映射。( )

A.
正确
B.
错误
第 34 题    判断题

语句print(round(2.785, 2))运行后的结果是2.79。( )

A.
正确
B.
错误
第 35 题    判断题

二进制数转化为十进制数的方法是:按权展开、逐项相加,如:(101)2=(10)10。( )

A.
正确
B.

错误

编程题
第 36 题    问答题

输入一个正数,以下代码编程求出它的平方根。请你补全代码。

in_var = float(input("请输入一个需要开方的正数,可以使用2位小数:\n x = ")) 
if in_var < 0: 
    x = - in_var 
else: 
    x = in_var 
low = 0.0 
high = x 
s_root =           ①           
if x > 0 and x < 1: 
    high = 1.0 
    low = 0 
    s_root =           ②           
if x >= 0: 
    while abs(           ③           ) > 0.0001: 
         if x > 1.0: 
             if s_root ** 2 < x: 
                    low = s_root 
            else: 
                    high = s_root 
            s_root =           ④           
        if x == 1.0 and x == 0.0: 
            s_root = x 
        else: 
            if s_root ** 2 < x: 
                low = s_root 
            else: 
                high = s_root 
        s_root =           ⑤           
if in_var >= 0: 
    print("所求数的平方根为:s_root = %.1f"%(s_root))
第 37 题    问答题

在三位数的自然数中,找出至少有一位数字是5的,至少能被3整除的所有整数,

并统计个数,具体代码如下:

count=0
lst=[]
for i in range(           ①           ):
    if i%3==0:
        a=i%10
        b=i//10%10
        c=           ②           
        if            ③           :
            count+=1
            lst.append(i)
print("这样的三位数有:",lst)
print("总数量有:",count)
第 38 题    问答题

下面程序实现对二维数据的处理,请你补全代码。

f=open('/data/score2.csv','r')
a=[]
for i in f:
    a.append(i.strip().split(','))
f.close()
           ①           
for i in a:
    s=''
    for j in i:
                  ②          
    print(s)

程序执行结果为:

[['王鑫', '86', '90', '92', '99', '94', '95'], ['杨小虹', '93', '97', '95', '90', '86', '85'], 

['李静', '89', '98', '99', '94', '90', '85']] 

王鑫       86    90    92    99    94    95   
杨小虹    93    97    95    90    86    85   
李静       89    98    99    94    90    85

答题卡
选择题
判断题
编程题
36 37 38
题目总数:38
总分数:100
时间:90分钟