万卷网> 电子学会考级 >Python等级考试 > 2022年9月电子学会青少年软件编程(Python六级)等级考试试卷

2022年9月电子学会青少年软件编程(Python六级)等级考试试卷
操作/编程 六级 2022 2022-11-30 16:05:40 50

一、单选题

1.

关于函数的功能,下列描述正确的是?(  )

A.

bar()函数用于绘制水平柱形图

B.

plot()函数用于绘制饼图

C.

barh()函数用于绘制垂直柱形图

D.

scatter()函数用于绘制散点图

2.

有一段Python代码,'test1.txt'内容如下图所示,'test2.txt'文件无内容,执行该代码后,下列说法正确的是?(  )

with open('test1.txt') as f:
    data=f.readline()
with open('test2.txt','w') as f:
    f.write(data)

A.

test2.txt文件中仍旧无内容

B.

test2.txt文件中的内容为'hello world,'

C.

test2.txt文件中的内容为'hello world,I like Python'

D.

test1.txt文件中的内容将丢失

3.

执行下面代码,说法正确的是?(  )

import tkinter as tk
from tkinter import messagebox
root= tk.Tk() 
root.title('演示窗口')
root.geometry("300x100+630+80") 
btn1 = tk.Button(root) 
btn1["text"]= "点击"
btn1.pack() 
def call(event):
    messagebox.showinfo('窗口名称','点击成功')
btn1.bind('<Button-1>',call)
A.

窗口的名称为‘点击’

B.

窗口中有两个以上的按钮

C.

窗口内的按钮无法点击

D.

按钮和call绑定

4.

以下关于Python二维数据的描述中,错误的是?(   )

A.

表格数据属于二维数据,由整数索引的数据构成

B.

CSV格式每行表示—个—维数据,用英文半角逗号分隔

C.

二维数据由多条—维数据构成,可以看作—维数据的组合形式

D.

—种通用的二维数据存储形式是CSV格式

5.

有如下Python程序段:

a=[27,15,21,36,18]
f=[False]*5
i=0
while i<4 and not f[i]:
    for j in range(4,i,-1):
        if a[j]>a[j-1]:
            a[j],a[j-1]=a[j-1],a[j]
            f[i]=True
    i=i+1

则程序运行之后,数组f中值为True的元素的个数是?(  )

A.

1

B.

2

C.

3

D.

4

6.

打开一个已有文件,逐行读取内容,并顺序写入到另一个文件内,代码如下,则划线处的语句为?(  )

file_read = open("1.jpg","rb")
file_write = open("2.jpg","wb")
while True:
     ______________________________
     if not text:
         break
     file_write.write(text)
file_read.close()
file_write.close()
A.

text = file_read.readline()

B.

text = file_read.readlines()

C.

text = file_read

D.

text = '1,jpg'

7.

关于面向对象编程,下列表述错误的是?(  )

A.

继承是面向对象编程的重要特性之一,它可以重复使用已经存在的数据(属性)和行为(方法),避免重复编写代码。继承指的是父子关系,子类继承父类的所有公有实例变量和方法。

B.

根据类来创建对象的过程称为实例化。类将需要使用的变量和函数组合在一起,称为封装。

C.

Python 语言不允许子类继承多个父类。如果父类定义了 __init__ 方法,子类必须显式调用父类的 __init__ 方法;如果子类需要扩展父类的行为,不可以添加 __init__ 方法中的参数。

D.

继承指的是父子关系,子类继承父类的所有公有实例变量和方法。

8.

小明将我国部分省份及其省会城市存储到二维数组中,并依次输出各省及其省会名称。例如“浙江省的省会是杭州市”,相关代码如下: 

a = [["浙江省", "杭州市"], ["吉林省", "长春市"], ["湖南省", "长沙市"], ["江苏省", "南京市"], ["安徽省", "合肥市"]] 
for p in a:
     print(f"{     ①     }的省会是{     ②     }")

则划线①和②处分别应填写的代码为?(  )

A.

① p[1] ② p[0]

B.

① a[p][0] ② a[p][1]

C.

① p[0] ② p[1]

D.

① p[1] ② p[2]

9.

下面不属于tkinter中的常用控件的是?(  )

A.

Canvas

B.

Button

C.

Entry

D.

scatter

10.

请阅读下列代码,①、②、③、④处的输出结果依次是?(  )

class Fruit:
    price=0
    def __init__(self):
         self.color='red'
         country="China"
if __name__=="__main__":
    print(Fruit.price)  #①
    apple=Fruit()
  print(apple.color)  #②
  Fruit.price=Fruit.price+15
  print( "apple's price:"+str(apple.price))  #③
  banana=Fruit()
  print ("banana's price:"+str(banana.price))  #④
A.

0  red  apple's price:15  banana's price:0

B.

0  red  apple's price:15  banana's price:15

C.

15  red  apple's price:15  banana's price:0

D.

15  red  apple's price:15  banana's price:15

11.

某Python程序如下:

a = [28,45,17,43,75,40,54,13]
m = int(input("请输入一个整数:"))
pos=-1
for i in range(len(a)):
    if a[i]>m:
        if pos==-1 or a[i]<a[pos]:
            pos=i
print(pos)

运行该段程序,若输入40,输出的结果是?(  )

A.

1

B.

4

C.

3

D.

5

12.

在Python中创建了SQLite数据库和数据表,如下图所示:

import sqlite3
conn=sqlite3.connect('d:/fruit.db')
cur=conn.cursor()
conn.execute("INSERT INTO fruit VALUES('桔子',4.5)")
conn.execute("INSERT INTO fruit VALUES('葡萄',2.5)")
conn.commit()
conn.execute("DELETE FROM fruit WHERE price=2.5")
conn.commit()
cur.execute('SELECT * FROM fruit')
conn.close()

执行完上述代码后,数据表中还剩下多少条数据?(  )

A.

6

B.

5

C.

4

D.

3

13.

有关SQLite数据库中游标对象的方法,下列哪一个方法用于从结果中读取一条记录,并将游标指向下一条记录?(  )

A.

scroll()

B.

fetchall()

C.

fetchmany()

D.

fetchone()

14.

下面有关类与对象的概念描述,错误的是?(   )

A.

定义类,类名的首字母必须大写,后面跟圆括号。

B.

类中的函数称为方法,方法__init__() 是一个特殊的方法,开头和末尾各有两个下划线,这种约定避免Python默认方法与普通方法发生名称冲突。

C.

定义方法__init__() 时,self 必不可少,还必须位于其他形参的后面。

D.

定义的变量都有前缀self ,以self为前缀的变量可供类中所有方法使用。

15.

有以下Python程序段功能为:输出整型数组元素a[0]到a[9]中最大值和最小值

from random import randint
a=[randint(1,20) for i in range(10)]
print(a)
amin=a[0]
amax=a[0]
i=1;j=9
while i<=j:
    if a[i]>a[j]:
               (1)    
               (2)    
    else:
               (3)    
               (4)    
    i=i+1
    j=j-1
print(amin,amax)

上述程序段中可选语句为?(  )

A.

④③②①

B.

④②③①

C.

③②④①

D.

③①④②

16.

文文收集了某题的选择数据,并根据数据制作了选答比例,如图所示。

语句如下程序如下:

_______
plt.rcParams["font.sans-serif"] = "SimHei"
opt = [204, 509, 159, 213]
_______
plt.title("各选项的选答比例")
_______

选填语句有:

①import matplotlib.pyplot as plt    ②plt.pie(opt, labels=['A', 'B', 'C', 'D'], autopct='%1.2f%%')  ③plt.show()   

画线处正确的语句顺序是?(  )

A.

②③①

B.

①②③

C.

③①②

D.

②①③

17.

根据如下图所示的数据结构,在D盘根目录下建立一个空数据库buyfruit.db,按如图所示的表结构,创建一周水果购买情况记录表base。

下列说法不正确的是?(  )

A.

实数型REAL:浮点数,以8字节指数形式存储,不可指定位数,只能指定小数位数

B.

整数型INTEGER:有符号整数,按实际存储大小,通常不需要指定位数

C.

文本型TEXT:字符串,以数据库编码方式存储

D.

上述表结构中,应该设置“编号”为主键更合理

18.

有如下程序代码:

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(10, 20, 100)
y = x ** 10
print(type(x), type(y))
plt.plot(x, y)
plt.show()

执行代码后,运行效果图正确的是?(  )

A.

B.

C.

D.

19.

关于类的属性,下列表达错误的是?(  )

A.

类由属性(attribute)和方法(method)组成。类的属性指的是对数据的封装,类的方法则表示对象具有的行为。

B.

根据类属性的名称可以判断类属性的类型,如果函数、方法或属性的名称以双下划线开始和结束,则表示公有属性;如果函数、方法或属性的名字不是以两个下划线开始和结束,则表示私有属性。

C.

根据作用范围,类的属性分为私有属性(private attribute)和公有属性(public attribute)。类之外的函数不能够调用的属性称为类的私有属性;相反,类之外的函数能够调用的属性称为类的公有属性。

D.

类的属性又分为实例属性和静态属性:实例属性指的是以 self 作为前缀的属性,静态属性指的是静态变量。

20.

关于SQLite数据库,下列说法中哪一个描述不正确?(  )

A.

SQLite是一个开源的关系型数据库,具有零配置、自我包含、便于传输等优点

B.

SQLite数据库中的数据存放于多个二维表,在表中列称为记录,行称为字段

C.

设计表结构时,可指定某字段是否允许空,若不允许为空,可用NOT NULL关键字加以限制

D.

在大多数表中,往往指定一个非空且唯一的字段作为主键(PRIMARY KEY),便于快速检索

21.

有如下Python代码,关于这段代码描述正确的是?(  )

with open('test.txt') as f:
    data=f.readline()
print(data)
A.

读取test文件中的所有内容

B.

读取test文件中的一行数据,返回的数据是列表

C.

读取test文件中的一行数据,返回的数据是字符串

D.

无法打开test文件

22.

编写Python程序时,需要打开代码同目录下的“test.txt”文件,使用open函数只读方式打开,下列代码正确的是?(  )

A.

open('test.txt','r'')

B.

open('text.txt','w')

C.

open('test.txt','a')

D.

open('text.txt','a+')

23.

绘制sin(x)的图形如图所示,画线处的的语句是?(  )

import matplotlib.pyplot  as plt
import numpy  as  np
x = np.linspace(0, 10, 30) 
_________
plt.show()
A.

plt.plot(x, np.sin(x)) 

B.

plt.scatter(x, np.sin(x))

C.

plt.bar(x, y) 

D.

plt.scatter(x, y)

24.

有如下Python代码,执行该代码,说法正确的是?(  )

def go(*args):   
    print(comboxlist.get()) #打印选中的值   
import tkinter as tk
root=tk.Tk() #构造窗体
comboxlist=tk.ttk.Combobox(root)
comboxlist["values"]=("1","2","3","4")
comboxlist.current(0)  
comboxlist.bind("<<ComboboxSelected>>",go)  
comboxlist.pack()
A.

comboxlist没有和任何事件绑定

B.

comboxlist下拉框中的选项有0,1,2,3,4,

C.

点击下拉框中的1,1会被输出打印

D.

下拉框不会显示在窗体中

25.

关于下列代码,说法正确的是?(  )

from tkinter import *
root = Tk()
Button(root,text='按钮1').pack(side=TOP,expand=YES,fill=X)
Button(root,text='按钮2').pack(side=TOP,expand=YES,fill=X)
A.

两个按钮从上到下排列

B.

两个按钮从左到右排列

C.

当主窗体大小变化时,按钮大小不会发生改变

D.

两个按钮都在竖直方向填充

二、判断题

1.

语句a=[[i+j for i in range(10)]for j in range(10) if j %2 ==1]产生一个10*10的二维数组。

A.正确 B.错误
2.

在调用Python的matplotlib库后,为了显示图形,必须调用plt.show()函数。

A.正确 B.错误
3.

在Python的matplotlib库中,plt.bar()函数可用来绘制散点图。

A.正确 B.错误
4.

SQLite是Python的内置库,可用import sqlite3语句导入模块,其程序中编写的有关SQL的语句对大小写很敏感,所以必须用大写的形式表示才行。

A.正确 B.错误
5.

在tkinter中,pack 是三种布局管理中最常用的. 另外两种布局需要精确指定控件具体的显示位置, 而 pack 布局可以指定相对位置, 精确的位置会由 pack 系统自动完成。

A.正确 B.错误
6.

open()函数的'rb+'模式表示以二进制的格式打开一个文件用于读写。文件指针将会放在文件开头。

A.正确 B.错误
7.

在Windows平台使用Python,很多时候open函数的默认编码方式为gbk。

A.正确 B.错误
8.

json库主要包括两类:操作类函数和解析类函数,操作类函数主要完成外部json格式和程序内部数据类型之间的转换功能;解析类函数主要用于解析键值对内容。

A.正确 B.错误
9.

在Python语言中定义类时,如果某个成员名称前有2个下划线则表示是私有成员。

A.正确 B.错误
10.

在类定义的外部,没有任何办法来访问对象的私有成员。

A.正确 B.错误
公众号
客服 反馈
顶部