第 1 题 单选题
以下关于Python二维数据的描述中,错误的是?( )
A. 表格数据属于二维数据,由整数索引的数据构成
B. CSV格式每行表示—个—维数据,用英文半角逗号分隔
C. 二维数据由多条—维数据构成,可以看作—维数据的组合形式
D. —种通用的二维数据存储形式是CSV格式
第 2 题 单选题
有以下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. ③①④②
第 3 题 单选题
小明将我国部分省份及其省会城市存储到二维数组中,并依次输出各省及其省会名称。例如“浙江省的省会是杭州市”,相关代码如下:
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]
第 4 题 单选题
有如下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
第 5 题 单选题
某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
第 6 题 单选题
有关SQLite数据库中游标对象的方法,下列哪一个方法用于从结果中读取一条记录,并将游标指向下一条记录?( )
A. scroll()
B. fetchall()
C. fetchmany()
D. fetchone()
第 7 题 单选题
关于SQLite数据库,下列说法中哪一个描述不正确?( )
A. SQLite是一个开源的关系型数据库,具有零配置、自我包含、便于传输等优点
B. SQLite数据库中的数据存放于多个二维表,在表中列称为记录,行称为字段
C. 设计表结构时,可指定某字段是否允许空,若不允许为空,可用NOT NULL关键字加以限制
D. 在大多数表中,往往指定一个非空且唯一的字段作为主键(PRIMARY KEY),便于快速检索
第 8 题 单选题
在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
第 9 题 单选题
根据如下图所示的数据结构,在D盘根目录下建立一个空数据库buyfruit.db,按如图所示的表结构,创建一周水果购买情况记录表base。
下列说法不正确的是?( )
A. 实数型REAL:浮点数,以8字节指数形式存储,不可指定位数,只能指定小数位数
B. 整数型INTEGER:有符号整数,按实际存储大小,通常不需要指定位数
C. 文本型TEXT:字符串,以数据库编码方式存储
D. 上述表结构中,应该设置“编号”为主键更合理
第 10 题 单选题
编写Python程序时,需要打开代码同目录下的“test.txt”文件,使用open函数只读方式打开,下列代码正确的是?( )
A. open('test.txt','r'')
B. open('text.txt','w')
C. open('test.txt','a')
D. open('text.txt','a+')
**第 11 题 单选题*
有如下Python代码,关于这段代码描述正确的是?( )
with open('test.txt') as f:
data=f.readline()
print(data)
A. 读取test文件中的所有内容
B. 读取test文件中的一行数据,返回的数据是列表
C. 读取test文件中的一行数据,返回的数据是字符串
D. 无法打开test文件
第 12 题 单选题
有一段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文件中的内容将丢失
第 13 题 单选题
关于函数的功能,下列描述正确的是?( )
A. bar()函数用于绘制水平柱形图
B. plot()函数用于绘制饼图
C. barh()函数用于绘制垂直柱形图
D. scatter()函数用于绘制散点图
第 14 题 单选题
有如下程序代码:
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.
第 15 题 单选题
绘制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)
第 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 题 单选题
打开一个已有文件,逐行读取内容,并顺序写入到另一个文件内,代码如下,则划线处的语句为?( )
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'
第 18 题 单选题
下面不属于tkinter中的常用控件的是?( )
A. Canvas
B. Button
C. Entry
D. scatter
第 19 题 单选题
执行下面代码,说法正确的是?( )
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绑定
第 20 题 单选题
关于下列代码,说法正确的是?( )
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. 两个按钮都在竖直方向填充
第 21 题 单选题
有如下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. 下拉框不会显示在窗体中
第 22 题 单选题
下面有关类与对象的概念描述,错误的是?( )
A. 定义类,类名的首字母必须大写,后面跟圆括号。
B. 类中的函数称为方法,方法__init__() 是一个特殊的方法,开头和末尾各有两个下划线,这种约定避免Python默认方法与普通方法发生名称冲突。
C. 定义方法__init__() 时,self 必不可少,还必须位于其他形参的后面。
D. 定义的变量都有前缀self ,以self为前缀的变量可供类中所有方法使用。
第 23 题 单选题
请阅读下列代码,①、②、③、④处的输出结果依次是?( )
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
第 24 题 单选题
关于类的属性,下列表达错误的是?( )
A. 类由属性(attribute)和方法(method)组成。类的属性指的是对数据的封装,类的方法则表示对象具有的行为。
B. 根据类属性的名称可以判断类属性的类型,如果函数、方法或属性的名称以双下划线开始和结束,则表示公有属性;如果函数、方法或属性的名字不是以两个下划线开始和结束,则表示私有属性。
C. 根据作用范围,类的属性分为私有属性(private attribute)和公有属性(public attribute)。类之外的函数不能够调用的属性称为类的私有属性;相反,类之外的函数能够调用的属性称为类的公有属性。
D. 类的属性又分为实例属性和静态属性:实例属性指的是以 self 作为前缀的属性,静态属性指的是静态变量。
第 25 题 单选题
关于面向对象编程,下列表述错误的是?( )
A. 继承是面向对象编程的重要特性之一,它可以重复使用已经存在的数据(属性)和行为(方法),避免重复编写代码。继承指的是父子关系,子类继承父类的所有公有实例变量和方法。
B. 根据类来创建对象的过程称为实例化。类将需要使用的变量和函数组合在一起,称为封装。
C. Python 语言不允许子类继承多个父类。如果父类定义了 __init__ 方法,子类必须显式调用父类的 __init__ 方法;如果子类需要扩展父类的行为,不可以添加 __init__ 方法中的参数。
D. 继承指的是父子关系,子类继承父类的所有公有实例变量和方法。
第 26 题 判断题
json库主要包括两类:操作类函数和解析类函数,操作类函数主要完成外部json格式和程序内部数据类型之间的转换功能;解析类函数主要用于解析键值对内容。
A. 正确
B. 错误
第 27 题 判断题
SQLite是Python的内置库,可用import sqlite3语句导入模块,其程序中编写的有关SQL的语句对大小写很敏感,所以必须用大写的形式表示才行。
A. 正确
B. 错误
第 28 题 判断题
在Python的matplotlib库中,plt.bar()函数可用来绘制散点图。
A. 正确
B. 错误
第 29 题 判断题
在调用Python的matplotlib库后,为了显示图形,必须调用plt.show()函数。
A. 正确
B. 错误
第 30 题 判断题
在Windows平台使用Python,很多时候open函数的默认编码方式为gbk。
A. 正确
B. 错误
第 31 题 判断题
open()函数的'rb+'模式表示以二进制的格式打开一个文件用于读写。文件指针将会放在文件开头。
A. 正确
B. 错误
第 32 题 判断题
在tkinter中,pack 是三种布局管理中最常用的. 另外两种布局需要精确指定控件具体的显示位置, 而 pack 布局可以指定相对位置, 精确的位置会由 pack 系统自动完成。
A. 正确
B. 错误
第 33 题 判断题
在Python语言中定义类时,如果某个成员名称前有2个下划线则表示是私有成员。
A. 正确
B. 错误
第 34 题 判断题
在类定义的外部,没有任何办法来访问对象的私有成员。
A. 正确
B. 错误
第 35 题 判断题
语句a=[[i+j for i in range(10)]for j in range(10) if j %2 ==1]产生一个10*10的二维数组。
A. 正确
B. 错误
第 1 题 问答题
小明编写一个类实现设置马的品种、年龄、性别及速度,输出相应的语句,请补全代码。
如下代码输出结果为“一匹阿拉伯12岁的公马,在草原上奔跑的速度为50km/h”。
class ① :
def __init__(self, category, gender, age):
self.category = category
②
self.age = age
self.speed = 0
def get_descriptive(self):
self.info = "一匹" + self.category + ③ + "岁的" +self.gender + "马"
def write_speed(self, new_speed):
self.speed = new_speed
addr = "在草原上奔跑的速度为"
print( ④ + "," + addr + str(self.speed) + "km/h。")
horse = Horse("阿拉伯","公",12)
horse.get_descriptive()
horse.write_speed(50)
第 2 题 问答题
有十位选手参加某项比赛,共有10位评委参与评分。每位选手得分已保存在“score1.txt”文件中,如图所示。
第一行表示1号选手的所有得分,第二行表示2号选手的所有得分,依次类推。最终得分的计分规则为去掉一个最高分,去掉一个最低分,求余下分数的平均分。请找出最终得分最高的选手。“score1.txt”文件的内容如图所示。
程序代码如下:
with open("/data/ ① ", encoding="UTF-8") as f:
data = f.readline().strip()
i = 0
m = 0
while data:
②
score = list(map(float, data.split()))
result = (sum(score) - min(score) - max(score)) / (len(score) - 2)
if ③ :
m = result
pos = i
data = ④ .strip()
print("成绩最佳的选手是:" + ⑤ + "号,得分:" + str(m) + "分")
请在画线处填入正确的代码。
第 3 题 问答题
使用Python的sqlite3库完成以下问题。
1.在data.db文件内创建一个学生成绩表student(不考虑data.db的路径)
2.student中包含
学号(num),类型INTEGER PRIMARY KEY
姓名(name),类型TEXT
成绩(grade),类型int
名次(rank),类型int
3.增加一条记录(1,"lilei",100,50)
程序如下,请补全代码。
import sqlite3
conn= ①
cur = ②
cur.execute("CREATE TABLE IF NOT EXISTS student(num INTEGER PRIMARY KEY ,name text,grade int,rank int)")
cur.execute("insert into student( ③ ) values( ④ )")
⑤
cur.close()
conn.close()