2024年03月Python六级真题+答案(中国电子学会 )

++Python、Scratch所有等考真题点这里++


青少年软件编程(Python)等级考试试卷(六级)

分数:100 题数:38

一、单选题(共25题,共50分)

1.以下选项中,创建类正确的是?( )

A. class test1:

def prt(self):

......

B. class Mg():

def init(na, ag):

self.na = na

C. class A():

def print(self):

print("Yes")

a=A()

a.print()

D. class 3Point:

def init( self):

......

试题编号:202306-zzh-24

试题类型:单选题

标准答案:C

试题难度:一般

试题解析:类的名称遵守变量命名规则的同时,首字母必须大写。

考生答案:B

2.运行以下程序,输出结果是?( )

class A():

def init(self,x):

self.x=x

def add1(self):

return self.x+self.x

t1=A(3)

t2=A(t1.add1())

print(t2.add1())

A. 10

B. 12

C. 程序报错

D. 6

试题编号:202306-zzh-25

试题类型:单选题

标准答案:B

试题难度:一般

试题解析:t1.add1()=3+3+3+3。

3.运行以下程序,输出的结果是?( )

class T():

def init(self):

self.a=1

def t1(self,b):

self.a=b+b

c=T()

c.a=c.a+c.a

c.t1(5)

print(c.a)

A. 2

B. 12

C. 10

D. 6

试题编号:202306-zzh-27

试题类型:单选题

标准答案:C

试题难度:一般

试题解析:self.a=b+b,自定义类的使用,t1(5)=b+b=5+5。

4.要将一个数组[1,2,3,4,5]绘制成折线图,代码是?( )

A. import matplotlib.pyplot as plt

plt.plot([1,2,3,4,5])

plt.show()

B. import numpy as np

import matplotlib.pyplot as plt

plt.plot(np.array(1,5))

plt.show()

C. import matplotlib.pyplot as plt

plt.bar([1,2,3,4,5])

plt.show()

D. import matplotlib.pyplot as plt

plt.scatter([1,2,3,4,5])

plt.show()

试题编号:20230614-ltj-014

试题类型:单选题

标准答案:A

试题难度:一般

试题解析:正确选项:A。使用matplotlib.pyplot的plt.plot()方法绘制折线图。

5.要生成一个3*4的数组,并计算数组中偶数值之和,代码是?( )

A. import numpy as np

arr = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])

np.sum(arr[arr%2==0])

B. import numpy as np

arr = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])

np.sum(arr[:,arr%2==0])

C. import numpy as np

arr = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])

np.sum(arr[np.get(arr%2==0)])

D. import numpy as np

arr = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])

np.sum(arr[arr.even()])

试题编号:20230614-ltj-015

试题类型:单选题

标准答案:A

试题难度:较难

试题解析:使用np.array()生成数组,np.sum()计算和,arr%2==0提取偶数值,所以选择A选项。

考生答案:C

6.在使用matplotlib库绘制图形时,如何设置x轴和y轴的标签?( )

A. plt.title()和plt.legend()

B. plt.set_xlabel()和plt.set_ylabel()

C. plt.xlabel()和plt.ylabel()

D. plt.xticks()和plt.yticks()

试题编号:20230614-ltj-016

试题类型:单选题

标准答案:C

试题难度:一般

试题解析:正确选项:C。plt.xlabel()和plt.ylabel()函数分别用于设置x轴和y轴的标签。

其他选项的功能如下:

plt.set_xlabel()和plt.set_ylabel():在使用面向对象的方法绘图时,用于设置轴标签。

plt.title():设置图形的标题。

plt.legend():显示图例。

plt.xticks()和plt.yticks():设置x轴和y轴的刻度。

考生答案:B

7.关于matplotlib函数的功能,下列描述错误的是?( )

A. bar()函数用于绘制垂直柱形图

B. plot()函数用于绘制线形图

C. barh()函数用于绘制饼形图

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

试题编号:20230614-ltj-017

试题类型:单选题

标准答案:C

试题难度:较难

试题解析:bar()函数用于绘制垂直柱形图,plot()函数用于绘制线形图,barh()函数用于绘制水平柱形图,因此,ABC选项均错;scatter()函数用于绘制散点图,因此,答案为C。

8.下列哪个选项是有效的JSON格式?( )

A. {'name':'Alice', 'age':25, 'city':'New York'}

B. {name:"Alice", age:25, city:"New York"}

C. {"name":"Alice", age:25, city:'New York'}

D. {"name":"Alice", "age":25, "city":"New York"}

试题编号:20230626-cln-007

试题类型:单选题

标准答案:D

试题难度:容易

试题解析:在JSON中,键和字符串值都应该使用双引号(")包围,而不是单引号(')。因此,选项A、B、C都不是有效的JSON格式。选项D中的双引号使用正确,并且键和字符串值都被正确包围,是有效的JSON格式。

9.下列关于数据的说法,不正确的是?( )

A. 一维数据可由列表表示,也可用集合表示

B. 二维数据由多个一维数据构成

C. 二维数据可由二维列表表达,也可由表格或csv格式的文件表达

D. 一维数据采用线性方式组织,是有序的

试题编号:20230626-cln-008

试题类型:单选题

标准答案:D

试题难度:容易

试题解析:一维数据由对等关系的有序或者无序数据构成。

10.下面代码的输出结果正确的是?( )

import json

json_str = '{"name": "Alice", "age": 25, "city": "New York"}'

data = json.loads(json_str)

print(data)

A. {"name": "Alice", "age": 25, "city": "New York"}

B. {'name': 'Alice', 'age': 25, 'city': 'New York'}

C. [{'name': 'Alice', 'age': 25, 'city': 'New York'}]

D. ['name': 'Alice', 'age': 25, 'city': 'New York']

试题编号:20230626-cln-009

试题类型:单选题

标准答案:B

试题难度:容易

试题解析:这段代码将JSON字符串用json.loads()解码为 Python 对象并输出。

考生答案:C

11.下面代码的输出结果正确的是?( )

import json

data = {

"name": "Alice",

"age": 25,

"city": "New York"

}

text = json.dumps(data)

print(text)

A. ["name": "Alice", "age": 25, "city": "New York"]

B. {'name': "Alice", 'age': 25, 'city': "New York"}

C. {"name": "Alice", "age": 25, "city": "New York"}

D. {'name': 'Alice', 'age': 25, 'city': 'New York'}

试题编号:20230626-cln-010

试题类型:单选题

标准答案:C

试题难度:容易

试题解析:这段代码将 Python 对象用json.dumps()编码为JSON字符串并输出。

12.有关JSON(JavaScript Object Notation)的概念,正确的是?( )

A. 是一种数据交换格式

B. 是一种编程语言

C. 是一种数据库

D. 是一种算法

试题编号:20230626-cln-011

试题类型:单选题

标准答案:A

试题难度:容易

试题解析:JSON是一种基于文本的轻量级数据交换格式,具有易读、易写的特点。它常用于将数据从一个应用程序或平台传输到另一个应用程序或平台。由于其简洁性和普遍性,JSON已经成为了互联网上数据交换的常用格式。

13.使用tkinter设置一个按钮,将按钮放置在窗口最下方,则划线处的代码为?( )

from tkinter import *

root = Tk()

root.geometry('300x200')

root.title('my window')

btn1 = Button(root,text='按钮1',bg='red')


root.mainloop()

A. btn1.pack(side=TOP)

B. btn1.pack()

C. btn1.pack(side=BOTTOM)

D. btn1.pack(side='')

试题编号:20230702-tjt-031

试题类型:单选题

标准答案:C

试题难度:容易

试题解析:side=BOTTOM由下往上布置。

14.以下代码实现将鼠标移到按钮上时按钮变红,鼠标移开时按钮变蓝,划线处的代码是?( )

from tkinter import *

root = Tk()

root.title( )

root.geometry('450x350')

btn1 = Button(root,text = '1')

btn1.place(x =200,y = 50,width = 40,height = 40)

def changebg(event):

鼠标移到按钮上按钮变红

event.widget['bg'] = 'red'

def changebg1(event):

鼠标离开按钮上按钮变蓝

event.widget['bg'] = 'blue'


btn1.bind('<Leave>',changebg1)

root.mainloop()

A. btn1.bind()

B. btn1.bind('<Enter>',changebg)

C. btn1.bind('<Enter>',changebg1)

D. btn1.bind('<Button-1>',changebg1)

试题编号:20230702-tjt-032

试题类型:单选题

标准答案:B

试题难度:容易

试题解析:btn1.bind('<Enter>',changebg)可以实现移动到按钮上按钮变红。

15.以下代码实现点击"点我"按钮,弹出信息"give flower",划线处的代码是?( )

import tkinter as tk

import tkinter.messagebox

from tkinter import *

root = Tk()

bt = Button(root)

bt['text'] = '点我'

bt.pack()

def dianji(event):

tk.messagebox.showinfo('message','give flower')

bt.bind('<Button-1>', )

root.mainloop()

A. root

B. dianji

C. def

D. give flower

试题编号:20230702-tjt-033

试题类型:单选题

标准答案:B

试题难度:容易

试题解析:bt.bind('<Button-1>', dianji) 能使按钮事件和自定义函数绑定,实现效果。

16.使用tkinter模块,下列代码能创建一个输入框的是?( )

A. from tkinter import *

root = Tk()

root.title("test")

e1 = Entry(root)

e1.pack()

root.mainloop()

B. from tkinter import *

root = Tk()

root.title("test")

e1 = Button(root)

e1.pack()

root.mainloop()

C. from tkinter import *

root = Tk()

root.title("test")

e1 = Label(root,text='123')

e1.pack()

root.mainloop()

D. from tkinter import *

root = Tk()

root.title("test")

e1 = Checkbutton(root,text='123')

e1.pack()

mainloop()

试题编号:20230702-tjt-034

试题类型:单选题

标准答案:A

试题难度:容易

试题解析:e1 = Entry(root)可以创建文本框,所以选A。

考生答案:C

17.执行以下代码,数据表中共有几条数据?( )

import sqlite3

conn = sqlite3.connect('student_info.db')

cursor = conn.cursor()

cursor.execute('''CREATE TABLE IF NOT EXISTS Student

(id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')

cursor.execute("INSERT INTO Student (id, name, age) VALUES (1, 'Alice', 20)")

cursor.execute("INSERT INTO Student (id, name, age) VALUES (2, 'Bob', 22)")

cursor.execute("INSERT INTO Student (id, name, age) VALUES (3, 'Charlie', 21)")

cursor.execute("SELECT * FROM Student")

students = cursor.fetchall()

for student in students:

print(f"ID: {student[0]}, Name: {student[1]}, Age: {student[2]}")

cursor.execute("UPDATE Student SET age = 23 WHERE id = 2")

cursor.execute("DELETE FROM Student WHERE id = 3")

conn.commit()

conn.close()

A. 2

B. 3

C. 4

D. 5

试题编号:20230703-jx-002

试题类型:单选题

标准答案:A

试题难度:一般

试题解析:创建了数据表并插入了3条记录,然后修改了其中id = 2的记录,然后删除了id=3的记录,最后只有2条记录。

考生答案:B

18.如下代码创建一个数据库表,表内有几个字段?( )

import sqlite3

connection = sqlite3.connect('test.db')

cursor = connection.cursor()

cursor.execute('''CREATE TABLE employees

(id INTEGER PRIMARY KEY, name TEXT, age INTEGER, salary REAL)''')

connection.close()

A. 3

B. 4

C. 5

D. 6

试题编号:20230703-jx-016

试题类型:单选题

标准答案:B

试题难度:容易

试题解析:答案为B,共设置了四个字段,分别为id, name , age , salary。

考生答案:A

19.以下哪个代码片段用于创建一个SQLite数据库mydatabase连接?( )

A. 'connection = sqlite3.connection("mydatabase.db")'

B. 'connection = sqlite3.connect("mydatabase.db")'

C. 'connection = sqlite3.open("mydatabase.db")'

D. 'connection = sqlite3.connect("mydatabase.txt")'

试题编号:20230703-jx-037

试题类型:单选题

标准答案:B

试题难度:容易

试题解析:在sqlite3模块中,使用`connect()`函数创建一个SQLite数据库连接。数据库的后缀名是.db。

20.运行以下代码输出的数据为?( )

import sqlite3

connection = sqlite3.connect("students.db")

cursor = connection.cursor()

cursor.execute("CREATE TABLE students (name TEXT, age INTEGER)")

cursor.execute("INSERT INTO students VALUES ('John', 19)")

cursor.execute("INSERT INTO students VALUES ('John', 18)")

cursor.execute("DELETE FROM students WHERE name = 'John'")

cursor.execute("INSERT INTO students VALUES ('John', 17)")

cursor.execute("UPDATE students SET age = 22 WHERE name = 'John'")

cursor.execute("SELECT * FROM students")

results = cursor.fetchall()

for row in results:

print(row)

connection.close()

A. ('John', 22)

B. ('John', 18)

C. ('John', 19)

D. ('John', 17)

试题编号:20230703-jx-038

试题类型:单选题

标准答案:A

试题难度:一般

试题解析:创建了数据库和表之后,插入了二条姓名都为'John'数据,然后删除'John'相关数据时二条数据都被删除,重新插入'John'的数据并修改为22,故最后查找出的结果为22。

21.以只读方式打开d:\myfile.txt文件的代码是?( )

A. f=open("d:\\myfile.txt")

B. f=open("d:\\myfile.txt","rt+")

C. f=open("d:\\myfile.txt","r+")

D. f=open("d:\\myfile.txt","a")

试题编号:20230708-hww-001

试题类型:单选题

标准答案:A

试题难度:较难

试题解析:只读方式:r,不写时,默认为r;打开文本文档默认为t,可以省略,"rt+"与"r+"模式一样,为可读可写模式;"a"为追加模式。

22.在进行文件读写时,以下为非二进制文件的是?( )

A. timu.docx

B. timu.mp4

C. timu.txt

D. timu.jpg

试题编号:20230708-hww-002

试题类型:单选题

标准答案:C

试题难度:一般

试题解析:文本文件的格式为:txt;二进制文件的格式为:图像、音频、视频、office文档、可执行性文档等。

考生答案:B

23.程序填空:程序的输出结果如下图所示,程序空白处应该是?( )

with open("./text.txt","r",encoding='utf-8') as f:

a=f.read( )

print(a)

A. 10

B. 11

C. 9

D. 12

试题编号:20230708-hww-003

试题类型:单选题

标准答案:B

试题难度:一般

试题解析:换行符也占1位字符数。

考生答案:A

24.下面程序的输出结果是"like",请填空?( )

with open("text.txt", "r",encoding='utf-8') as f:

f.seek(7)

f.seek( , )

print(f.read(4))

A. 2,0

B. 2,1

C. 2,2

D. 0,2

试题编号:20230708-hww-004

试题类型:单选题

标准答案:A

试题难度:一般

试题解析:seek(偏移值[,起点]),起点可以省略,0表示从文件头开始,1表示从当前位置开始,2表示从文件尾开始,默认为0。

考生答案:B

25.运行以下程序,输出的结果是?( )

class F():

def init(self,a):

self.x=a+1

def b(self):

return self.x*self.x

f=F(3)

print(f.b())

A. 4

B. 8

C. 16

D. 20

试题编号:20240303-ssn-001

试题类型:单选题

标准答案:C

试题难度:一般

试题解析:self.a=a+1,f=F(3)=3+1=4,b*b=16。

二、判断题(共10题,共20分)

26.Python创建类时,可以自定义类的名称,按照Python变量命名规则命名即可。( )

试题编号:202306-zzh-23

试题类型:判断题

标准答案:错误

试题难度:一般

试题解析:自定义类的名称,按照Python变量命名规则命名,首字母必须大写。

考生答案:正确

27.如果你想用numpy库来计算一个二维数组a中每一行的最大值,你可以用np.max(a, axis=1)来实现。( )

试题编号:20230614-ltj-020

试题类型:判断题

标准答案:正确

试题难度:较难

试题解析:np.max是numpy库中用来计算数组中最大值的函数,它可以接受一个数组作为参数,并且返回一个数值,表示数组中所有元素的最大值。它也可以接受一个axis参数,表示按照哪个轴进行计算。如果axis=0,表示按照列进行计算,如果axis=1,表示按照行进行计算。所以np.max(a, axis=1)可以用来计算一个二维数组a中每一行的最大值,它会返回一个一维数组,包含每一行的最大值。

28.小华想要绘制一个表示某个城市一年内每个月的平均降雨量的折线图,他使用了以下的代码:

import matplotlib.pyplot as plt

months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]

rainfall = [50, 40, 60, 80, 100, 120, 140, 130, 110, 90, 70, 60]

plt.plot(months, rainfall)

plt.show()

运行上面这段代码后,会显示一个条形图。( )

试题编号:20230614-ltj-021

试题类型:判断题

标准答案:错误

试题难度:一般

试题解析:这段代码的目的是绘制一个表示某个城市一年内每个月的平均降雨量的折线图。

29.在JSON库中,JSON格式的数组将被解析为列表。( )

试题编号:20230626-cln-012

试题类型:判断题

标准答案:正确

试题难度:容易

试题解析:使用JSON库时,一般来说,JSON格式的对象将json库解析为字典。JSON格式的数组将被解析为列表。

30.在JSON中,可以使用数字作为键的数据类型。( )

试题编号:20230626-cln-013

试题类型:判断题

标准答案:错误

试题难度:容易

试题解析:在JSON中,JSON中的键必须是字符串类型,它们用双引号括起来表示。因此,只有字符串可以用作JSON中的键。

31.在Python的tkinter模块中,常用的控件的有Canvas、Button、Entry、scatter等。( )

试题编号:20230702-tjt-035

试题类型:判断题

标准答案:错误

试题难度:容易

试题解析:scatter函数是matplotlib中的散点图函数。

32.更新"students"表中id为1的记录的姓名为"Mike"可以使用语句UPDATE students SET name = 'Mike' WHERE id = 1实现。( )

试题编号:20230703-jx-025

试题类型:判断题

标准答案:正确

试题难度:一般

试题解析:UPDATE用于更新数据库内的数据,格式为UPDATE 表 SET 更新数据 WHERE 条件。

33.使用with语句打开文件后,程序发生崩溃时,无法关闭文件。( )

试题编号:20230708-hww-005

试题类型:判断题

标准答案:错误

试题难度:容易

试题解析:在操作文件和关闭文件之前发生错误而导致程序崩溃时,无法正常关闭文件。可以使用关键字with(自动管理资源)可以避免无法正常关闭。

34.使用writelines()向文件中写入内容时,写入的内容必须是字符串序列。( )

试题编号:20230708-hww-006

试题类型:判断题

标准答案:正确

试题难度:一般

试题解析:writelines()向文件中写入的内容是字符串序列。

35.创建子类时,父类必须包含在本程序中,放置于子类前或子类后都可以。( )

试题编号:202306-zzh-22

试题类型:判断题

标准答案:错误

试题难度:一般

试题解析:父类必须位于子类前。

考生答案:正确

三、编程题(共3题,共30分)

36.电视类问题

编写一个电视类,包括电视的品牌、型号、尺寸、价格等属性和开关电视、调节音量、切换频道等方法。再继承电视类创建一个智能电视类的子类,并分别创建它们的实例,测试它们的属性和方法。

class TV:

def ① (self, brand, model, size, price):

self.brand = brand #品牌

self.model = model #型号

self.size = ② #尺寸

self.price = price #价格

self.power = False

self.volume = 50 #体积

self.channel = 1

def power_on(self):

self.power = True

def power_off(self):

self.power = False

def adjust_volume(self, volume): #调整体积大小

self.volume = volume

def switch_channel(self, channel): #切换频道

self.channel = channel

class SmartTV(TV):

def init(self, brand, model, size, price):

super().init(brand, model, size, price)

self.internet = False

def connect_internet(self): #开启联网

self.internet = True

def disconnect_internet(self):#关闭联网

def watch_online(self, url): #是否能看网络资源

if ④ :#判断是否联网

print("正在观看:", url)

else:

print("请先连接网络")

创建普通电视和智能电视实例

tv1 = TV("创维", "LCD", 55, 3999)

tv2 = ⑤ ("小米", "OLED", 65, 4999)

测试普通电视的属性和方法

tv1.power_on()

tv1.adjust_volume(60)

tv1.switch_channel(3)

print("电视品牌:{},电视型号:{},电视尺寸:{}英寸,电视价格:{}元,电视状态:{},音量:{},频道:{}".format(tv1.brand, tv1.model, tv1.size, tv1.price, tv1.power, tv1.volume, tv1.channel))

测试智能电视的属性和方法

tv2.power_on()

tv2.adjust_volume(70)

tv2.switch_channel(5)

tv2.connect_internet()

tv2.watch_online("https://www.cctv.com")

print("电视品牌:{},电视型号:{},电视尺寸:{}英寸,电视价格:{}元,电视状态:{},音量:{},频道:{},是否连接网络:{}".format(tv2.brand, tv2.model, tv2.size, tv2.price, tv2.power, tv2.volume, tv2.channel, tv2.internet))

试题编号:202403-P6-36

试题类型:编程题

标准答案:

参考程序:

class TV():

def init(self, brand, model, size, price):

self.brand = brand #品牌

self.model = model #型号

self.size = size #尺寸

self.price = price #价格

self.power = False

self.volume = 50 #体积

self.channel = 1

def power_on(self):

self.power = True

def power_off(self):

self.power = False

def adjust_volume(self, volume): #调整体积大小

self.volume = volume

def switch_channel(self, channel): #切换频道

self.channel = channel

class SmartTV(TV):

def init(self, brand, model, size, price):

super().init(brand, model, size, price)

self.internet = False

def connect_internet(self): #开启联网

self.internet = True

def disconnect_internet(self):#关闭联网

self.internet = False

def watch_online(self, url): #是否能看网络资源

if self.internet :#判断是否联网

print("正在观看:", url)

else:

print("请先连接网络")

创建普通电视和智能电视实例

tv1 = TV("创维", "LCD", 55, 3999)

tv2 = SmartTV("小米", "OLED", 65, 4999)

测试普通电视的属性和方法

tv1.power_on()

tv1.adjust_volume(60)

tv1.switch_channel(3)

print("电视品牌:{},电视型号:{},电视尺寸:{}英寸,电视价格:{}元,电视状态:{},音量:{},频道:{}".format(tv1.brand, tv1.model, tv1.size, tv1.price, tv1.power, tv1.volume, tv1.channel))

测试智能电视的属性和方法

tv2.power_on()

tv2.adjust_volume(70)

tv2.switch_channel(5)

tv2.connect_internet()

tv2.watch_online("https://www.cctv.com")

print("电视品牌:{},电视型号:{},电视尺寸:{}英寸,电视价格:{}元,电视状态:{},音量:{},频道:{},是否连接网络:{}".format(tv2.brand, tv2.model, tv2.size, tv2.price, tv2.power, tv2.volume, tv2.channel, tv2.internet))

试题难度:较难

试题解析:

评分标准:

(1)init 或等效答案;(2分)

(2)size 或等效答案;(2分)

(3)self.internet = False 或等效答案;(2分)

(4)self.internet 或者 self.internet==True 或等效答案;(2分)

(5)SmartTV 或等效答案。(2分)

37.学生基本情况

1.准备工作及功能实现

(1)建立一个空数据库Studase.db,按照如图所示的表结构,创建学生基本情况表students;

(2)为表students添加数据,内容是"学号------ 20210267、班级------1、姓名------孙玉洁、性别------女、身高------167";

(3)删除表students中1班的学生信息;

(4)查询并输出表students的内容。

根据要求,请补全代码。(本题无需运行通过,写入代码即可)

2.程序

import sqlite3

conn = ① ('Studase.db')

cursor = conn.cursor()

cursor.execute(''' ② students

(学号 ③ NOT NULL,

班级 INTEGER,

姓名 TEXT(10) NOT NULL,

性别 TEXT(1) NOT NULL,

身高 INTEGER)''')

cursor.execute(" ④ ('20210267',1,'孙玉洁','女',167) ")

conn.commit()

cursor.execute(" ⑤ where 班级=1")

conn.commit()

cursor.execute("SELECT * FROM students")

for i in ⑥

print(i)

conn.close()

试题编号:202403-P6-37

试题类型:编程题

标准答案:

参考程序:

import sqlite3

#连接到数据库

conn = sqlite3.connect('Studase.db')

#创建游标对象

cursor = conn.cursor()

#创建students表

cursor.execute('''CREATE TABLE students

(学号 TEXT(10) PRIMARY KEY NOT NULL,

班级 INTEGER,

姓名 TEXT(10) NOT NULL,

性别 TEXT(1) NOT NULL,

身高 INTEGER); ''')

#插入数据到students表中

cursor.execute("INSERT INTO students VALUES('20210267',1,'孙玉洁','女',167)")

#提交更改

conn.commit()

#删除表中的数据

cursor.execute("delete from students where 班级=1")

#提交更改

conn.commit()

#执行查询并输出结果

cursor.execute("SELECT * FROM students")

for i in cursor.fetchall():

print(i)

#关闭连接

conn.close()

试题难度:较难

试题解析:

评分标准:

(1)sqlite3.connect 或等效答案;(1分)

(2)CREATE TABLE 或等效答案;(2分)

(3)TEXT(10) PRIMARY KEY 或等效答案;(2分)

(4)INSERT INTO students VALUES 或等效答案;(2分)

(5)delete from students 或等效答案;(2分)

(6)cursor.fetchall(): 或等效答案。(1分)

38.随机列表问题

随机生成一个长度为100的整数列表,其元素范围为1~100,将该列表以每10个一行(元素之间以空格分隔)写入一个文本文件("record.txt") ,将文本文件("record.txt")中的数字读入一个列表,并按数字的升序输出该列表。

注:enumerate() 取出的两个值,一个为数的索引,一个为数的值

from random import randint

lis = [ ]

for i in range(100):

lis.append(randint(1,100))

with open("record.txt", " ① ") as f:

str = ""

for i, v in enumerate(lis):

str = str + "{} ".format(v)

if ② == 0:

b = ③ (str + "\n")

str = ""

lis_date = [ ]

with open("record.txt") as f:

for line in ④ :

line = line.strip()

data = line.split()

for v in data:

lis_date.append(eval(v))

last_date = ⑤ (lis_date)

print(last_date)

试题编号:202403-P6-38

试题类型:编程题

标准答案:

参考程序:

from random import randint

lis = [ ]

for i in range(100):

lis.append(randint(1,100))

with open("record.txt", "w") as f:

str = ""

for i, v in enumerate(lis):

str = str + "{} ".format(v)

if (i + 1) % 10 == 0:

b =f.write(str + "\n")

str = ""

lis_date = [ ]

with open("record.txt") as f:

for line in f.readlines():

line = line.strip()

data = line.split()

for v in data:

lis_date.append(eval(v))

last_date = sorted(lis_date)

print(last_date)

试题难度:一般

试题解析:

评分标准:

(1)w 或等效答案;(2分)

(2)(i + 1) % 10 或等效答案;(2分)

(3)f.write 或等效答案;(2分)

(4)f.readlines() 或等效答案;(2分)

(5)sorted 或等效答案。(2分)

更多电子学会Python四级等级考试真题学习资料

↓ 点 击 关 注 ↓回 复 "P4" 获 取 历届真题~

相关推荐
Chloe.Zz1 分钟前
Python基础知识回顾
python
骑个小蜗牛6 分钟前
Python 标准库:random——随机数
python
Trouvaille ~15 分钟前
【机器学习】从流动到恒常,无穷中归一:积分的数学诗意
人工智能·python·机器学习·ai·数据分析·matplotlib·微积分
是十一月末32 分钟前
Opencv实现图像的腐蚀、膨胀及开、闭运算
人工智能·python·opencv·计算机视觉
云空40 分钟前
《探索PyTorch计算机视觉:原理、应用与实践》
人工智能·pytorch·python·深度学习·计算机视觉
dowhileprogramming1 小时前
Python 中的迭代器
linux·数据库·python
0zxm2 小时前
08 Django - Django媒体文件&静态文件&文件上传
数据库·后端·python·django·sqlite
灰太狼不爱写代码4 小时前
CUDA11.4版本的Pytorch下载
人工智能·pytorch·笔记·python·学习
众拾达人5 小时前
Python爬虫(入门+进阶)
爬虫·python
bryant_meng7 小时前
【python】OpenCV—Image Moments
开发语言·python·opencv·moments·图片矩