2022年12月份青少年软件编程Python等级考试试卷六级真题(含答案)

一、单选题(共25题,共50分)
1.数据文件“abc.txt”中包含若干个英文单词,如图所示:
 
读取文件“abc.txt”中数据的Python程序段如下:

file = 'abc.txt'
word_b = []
for word in open(file):if word[0:1] = = 'a' and len(word)>4:word_b.append(word)

(如果单词的长度大于4,并且word[0:1]第一个字符为'a'的话,加入到列表word_b中)
该程序段执行后,列表word_b中的数据为?(B)(2分)
 A. 文件“abc.txt”中所有包含字母“b”且长度大于4的单词
 B. 文件“abc.txt”中所有首字母为“a”且长度大于4的单词
 C. 文件“abc.txt”中所有第2个字母为“a”且长度大于4的单词
 D. 文件“abc.txt”中所有第1、2个字母均为“a”且长度大于4的单词
 

2.下列关于文件的描述错误的是?(B)(2分)
 A. 按数据的组织形式可以把文件分为文本文件和二进制文件两大类
 B. 使用readlines()可以从文件中读入—行文本     (读取所有行)
 C. 可以使用open()打开文件,用close()关闭文件
 D. 文本文件存储的是常规字符串,由若干文本行组成,通常每行以换行符”\n”结尾
答案解析:在Python语言中,文件读取方法有(设f代表文件变量)∶
f.read():从文件中读入整个文件内容。
f.readline():从文件中读入一行内容。
f.readlines():从文件中读入所有行,以每行为元素形成一个列表。
f.seek():改变当前文件操作指针的位置。

3.

with open("readme.txt","r") as f:r=f.read()
with open("writeme.txt",   ①   ) as p:p.write(r)


以上程序实现将readme文件内容追加写入writeme文件中,① 处的模式为?(D)(2分)
 A. "w"
 B. "t"
 C. "r"
 D. "a"
答案解析:模式"a":打开一个文件用于追加

4.小林编写一段文件读写操作代码,文件如下图,

 

代码段如下:

file=open('ceshi.txt','w')
file.write("python is a programming language.")
file.close( )
file=open('ceshi.txt','r')
print(file.read( ))

该代码段运行后,输出的结果为?(B )(2分)
 A. IA Distributed System Based on Python.
 B. python is a programming language.
 C. IA Distributed System Based on Python. python is a programming language.
 D. 程序编译错误,不会输出结果
选B是因为write进来的东西会覆盖掉前面的内容

5.下面选项中能创建按钮的是?(C )(2分)
 A. tkinter.Tk()
 B. tkinter.Label()
 C. tkinter.Button()
 D. tkinter.Text()
答案解析:tkinter.Tk() 创建一个主窗体对象,tkinter.Label()创建一个标签,tkinter.Button()创建一个按钮,tkinter.Text()创建一个文本框

6.使用grid()方法管理布局,需要将Label标签放入第一行第一列,正确写法是?( A)(2分)
 A. grid(row=0,column=0)
 B. grid(row=1,column=1)
 C. grid(row=0,column=1)
 D. grid(row=1,column=0)
答案解析:grid的方法中column为指定组件插入的列(0表示第一列),row为指定组件插入的行(0表示第一行),故答案为A。

7.tkinter中的geometry函数的作用是?( C)(2分)
 A. 设置窗口标题
 B. 设置字体
 C. 设置窗口大小
 D. 设置按钮大小
答案解析:geometry函数是设置窗口大小的函数

8.

import tkinter as tk
window = tk.Tk()
window.title('Mywindow')
window.geometry('200x100')
var = tk.StringVar()
p= tk.Label(window,textvariable=var,bg='green',font=('Arial', 12),width=15, height=2)
p.pack()
on_hit = False
def hit_me():global on_hitif on_hit == False:on_hit = Truevar.set('You hit me!')else:on_hit = Falsevar.set('I Love Python!')
b=tk.Button(window, text='点我', width=15, height=2,command=hit_me)
b.pack()
window.mainloop()


运行如上代码,对按钮点击二次后,在文本框中显示的文字为?( C)(2分)
 A. You hit me!
 B. I Love Python!
 C. 
You hit me!
I Love Python!
 D. 
I Love Python!
You hit me!
答案解析:tkinter程序执行二次,由于on_hit不断的变化,第一次按下按钮为if的结果,第二次为else的结果,故答案为B

9.有Python程序段如下,下列选项错误的是?(B )(2分)

class Car():       def __init__(self,name,color):self.name=nameself.color=colordef run(self):  print(self.color +self.name+"is running")

 A. 使用class关键字来定义一个Car类,类名的首字母必须要大写
 B. 方法__init()__定义了三个参数:self、name和color,其中self参数可省略
 C. 语句“self.color=color”获取存储在参数color中的值并存储到self的属性color中
 D. Car类还定义了一个方法run()
答案解析:方法__init()__定义了三个形参:self、name和color,其中self参数必不可少,且必须位于所有参数的前面。Python调用_init()_来创建Car实例时,将自动传入实参self,每个与类相关联的方法调用都能够自动传递实参self。每当根据Car类创建实例时,都只需给后两个形参(name和color)提供值。因此self不能省略。

10.创建了Car类后,用以下代码语句创建了car对象:car=Car(),那么需要调用car对象的drive方法,下列选项正确的是?( A)(2分)
 A. car.drive()
 B. Car.drive()
 C. Car.drive
 D. car.drive
答案解析:根据Car类创建实例(对象)后,就可以使用句点表示法来调用Car类中定义的任何方法。要调用方法,可指定实例的名称(这里就是car)和要调用的方法dive(),并用句点分隔。遇到代码car.drive()时,Python在类Car中查找方法drive()并运行其代码。方法调用格式:实例名.方法名()

11.有如下Python程序:

class Car():        def __init__(self,name,color):self.name=nameself.color=colordef run(self):print(self.color+self.name+'is running')
class Bus(Car):        def __init__(self,name,color):super().__init__(name,color)
car1=Bus('公交车','红色')
car1.run()


上述代码描述了面向对象的哪个特征?(B )(2分)
 A. 封装
 B. 继承
 C. 多态
 D. 隐藏
答案解析:继承可以让子类具有父类的特性,提高了代码的重用性。一个类继承另一个类时,它将自动获得另一个类的所有属性和方法,原有的类称之为父类或基类,而新建的类称之为子类。子类继承了父类的所有属性和方法,同时可以定义自己的属性和方法。封装(隐藏):隐藏对象的属性和实现细节,只对外提供必要的方法。多态是指同一个方法调用由于对象不同会产生不同的行为。代码中用到的super()是一个特殊函数,帮助Python将父类和子类关联起来。“super().__init__(name,color)”这行代码让Python调用Bus的父类方法__init__,让Bus实例包含父类的所有属性。父类也称为超类(superclass),名称super因此得名。

12.以下代码的运行结果是?(C )(2分)

class Num():def __init__(self,a,b,c):self.a=aself.b=bself.c=cdef run(self):print(self.a*10)print(self.b*5)print(self.c*2)
e = Num('C','BB','AAA')
e.run()

 A. 
AAAAAAAAAA
BBBBBBBBBB
CCCCCC
 B. 
AAAAAAAAAA
BBBBB
CC
 C. 
CCCCCCCCCC
BBBBBBBBBB
AAAAAA
 D. 
CCCCCCCCCC
BBBBB
AA
答案解析:

class Num():
    def __init__(self,a,b,c):
        self.a=a
        self.b=b
        self.c=c
    def run(self):
        print(self.a*10)
        print(self.b*5)
        print(self.c*2)
e = Num('C','BB','AAA')
e.run()  

#创建了Num类的实例e,自动传入实参self,并给后三个形参a,b,c分别提供了三个值'C','BB','AAA',输出时根据语句参数'C'要10次,'BB'要5次,'AAA'要2次,所以选C。

13.下列关于数据的说法,不正确的是?(A )(2分)
 A. 一维数据采用线性方式组织,是有序的
 B. 二维数据由多个一维数据构成
 C. 二维数据可由二维列表表达,也可由表格或csv格式的文件表达
 D. 一维数据可由列表表示,也可用集合表示

14.文件“score2.csv”中存放了3位同学的成绩数据,内容如图所示,

 

小李编写了如下程序:

csv_file = open("score2.csv","r")
flines = csv_file.readlines()
csv_file.close()

执行程序后,flines的结果是?( D)(2分)
 A. ['202008480,18', '202008319,19', '2202008333,20']
 B. ['202008480,18\n', '202008319,19\n', '2202008333,20\n']
 C. ['准考证号,成绩', '202008480,18', '202008319,19', '2202008333,20']
 D. ['准考证号,成绩\n', '202008480,18\n', '202008319,19\n', '2202008333,20\n']
答案解析:readlines()返回的是一个列表,读取csv带标题,每一行带有换行符。

15.“人口性别年龄结构数据.csv”文件存放了若干年的人口数据,内容如图所示。

 

小李想要读取“0-14岁”列的数据,他编写了如下代码:
 

 
import csv
with open('人口性别年龄结构数据.csv', 'r') as f:
     reader = csv.reader(f)
     for i in reader:
          print(________)

画线处语句正确的是?( C)(2分)
 A. i
 B. i[2]
 C. i[3]
 D. i[3][0]

16.有如下程序代码:

import csv
headers = ['学号','姓名','分数']
rows = [('202001','张三','98'),('202002','李四','95'),('202003','王五','92')]
with open('score.csv','w',encoding='utf8',newline='') as f :writer = csv.writer(f)
writer.writerow(headers)
writer.writerow(rows)


下列说法不正确的是?(D )(2分)
 A. 在相同路径下生成一个score.csv文件
 B. f是一个文件对象
 C. headers 是字段名称
 D. writer.writerow(rows)将写入多行数据

17.有如下程序代码:

import json
s = '''[{"name":"kingsan","age":23},{"name":"xiaolan","age":22}]'''
print(type(s))
data = json.loads(s)
print(data)
print(type(data))


下列说法正确的是?( C)(2分)
 A. s的数据类型是list
 B. data的数据类型是字符串
 C. loads()用于将字符串转化为JSON对象
 D. JSON数据可以用双引号来包围,也可以用单引号
答案解析:s的数据类型是str,data的数据类型是list;loads()方法将字符串转化为JSON对象;JSON数据需要用双引号来包围,不能使用单引号,不然易出现解析错误。

18.下列命令语句能实现在SQLite数据库插入记录数据的命令是?( B)(2分)
 A. create
 B. insert
 C. select
 D. delete

19.使用Python语言对SQLite数据库进行操作,实现打开和关闭名为test.db数据库文件。有下列语句命令:
①conn = sqlite3.connect("test.db")
②cur = conn.cursor( )
③import sqlite3 
④conn.close( ) 
⑤cur.close( ) 
要实现上述功能,上述语句执行的先后顺序正确是?(  A )(2分)
 A. ③①②⑤④
 B. ③②①⑤④
 C. ③①②④⑤
 D. ①②⑤④③
答案解析:先导入sqlite3模块,然后建立连接,建立游标,最后关闭。

20.打开名为data.db的数据库(SQLite数据库)文件,下列命令能创建名为test数据表的是?( A )(2分)
 A. create table test
 B. create test
 C. insert into test
 D. data.append(test)

21.执行下列代码,说法错误的是?(C  )(2分)

import sqlite3
DATABASE = 'data.db'
db = sqlite3.connect(DATABASE)
cur = db.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS list(id INTEGER PRIMARY KEY autoincrement, name text)")
db.commit()
cur.execute("SELECT COUNT(*) FROM list")
if cur.fetchall()[0][0] == 0:cur.execute('INSERT INTO list(id,name) VALUES(1,"lilei")')db.commit()


 A. data.db文件中有一张名为list的数据表
 B. list数据表中有两个字段id和name
 C. list数据表中没有记录
 D. 去掉最后一行的db.commit(),对程序有影响

22.matplotlib模块中提供了丰富的函数,关于函数的功能,下列选项中表达错误的是?(  D)(2分)
 A. plot() 函数的功能是绘制图形。  
 B. title()的功能是设置标题内容。
 C. show()的功能是显示绘图。
 D. subplot()的功能是图形叠加。
答案解析:本题考查matplotlib模块中的常用函数功能,其中,subplot()函数的功能是绘制子图,而不是图形叠加。

scatter()函数绘制散点图。

matplotlib提供plot()函数绘制一系列点 ,用线将其连起来。

 Matplotlib中提供pie()函数来绘制饼状图 

 Matplotlib提供hist()函数绘制直方图 。

23.某用户随机生成1000个数字进行排序、计算和绘图,一定不会使用下列哪个模块?( D)(2分)
 A. matplotlib       (一个绘制折线,饼图,柱状图的库)
 B. random             (一个提供随机数字的库)
 C. scipy   (是一个用于数学、科学、工程领域的常用软件包,可以处理插值、积分、优化、图像处理、常微分方程数值解的求解、信号处理等问题)
 D. wordcloud      (词云,将文字变成好看的艺术图)

24.下列代码的执行结果是?(  A)(2分)

import numpy as np
a = np.arange(9, dtype = np.float_).reshape(3,3)
b = np.array([100,10,10])
print (np.divide(a,b))

(NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。)
 A. 
[[0.  0.1  0.2 ]
[0.03  0.4  0.5 ]
[0.06  0.7  0.8 ]]
 B. 
[[0.  0.01  0.2 ]
[0.3  0.04  0.5 ]
[0.6  0.07  0.8 ]]
 C. 
[[0.  0.1  0.02 ]
[0.3  0.4  0.05 ]
[0.6  0.7  0.08 ]]
 D. 
[[0.  0.01  0.2 ]
[0.03  0.04  0.5 ]
[0.06  0.07  0.8 ]]


25.执行下列代码,输出结果是?(  )(2分)

 import numpy as npx =  [(1,2,3),(4,5,6),(8,9,0)]a = np.asarray(x)print (a)


 A. 
 [[1 2 3]
 [4 5 6]
 [8 9 0]]
 B. 
 [(1, 2, 3)
 (4, 5, 6) 
(8, 9, 0)]
 C. 
 [(1, 2, 3), 
(4, 5, 6) ,
(8, 9, 0)]
 D. ((1, 2, 3) (4, 5, 6) (8, 9, 0))

二、判断题(共10题,共20分)
26.使用内置函数open()的“r”模式打开包含多行内容的文本文件并返回文件对象fp,那么表达式fp.readline()[-1]的值一定为"\n"。( 对 )  

27.Tkinter是Python的标准GUI库。Python使用Tkinter可以快速的创建GUI应用程序。( 对 )
答案解析:Tkinter是Python的标准GUI库。Python使用Tkinter可以快速的创建GUI应用程序。

28.在面向对象编程中,类是用来描述具有相同属性和方法的对象的集合,它定义了该集合中每个对象共有的属性和方法。对象是类的实例,可以被赋予对象以独特的个性。(对  )
答案解析:在面向对象编程中,编写表示现实世界中的事物和情景的类,并基于类创建对象。编写类时,定义一类对象都有的通用行为。基于类创建对象时,每个对象都自动具备这种通用行为,然后可根据需要赋予每个对象独特的个性。根据类来创建对象被称为实例化,可以使用类的实例。

29.可以通过直接修改属性的值,及通过方法修改属性的值,这两种方法修改一个对象的属性,但是不能通过方法对属性的值进行递增/减。(  错)
答案解析:修改属性的值可以通过三种不同的方式:直接通过实例修改;通过方法设置;通过方法递增/递减(增加/减少特定的值)。

30.JSON(JavaScript Object Notation 对象表示法)是一种流行的结构化数据的方式,可以使用json.loads()返回JSON字符串。( 错 )

31.CSV数据存储格式是国际通用的一二维数据存储格式,一般每行一个一维数据,采用逗号分隔。( 对 )
答案解析:CSV数据存储格式是国际通用的一二维数据存储格式,一般每行一个一维数据,采用逗号分隔

32.SQLite 的 UPDATE 查询用于修改表中已有的记录。可以使用带有 WHERE 子句的 UPDATE 查询来更新选定行,否则所有的行都会被更新。(  对)
答案解析:SQLite 的 UPDATE 查询用于修改表中已有的记录。可以使用带有 WHERE 子句的 UPDATE 查询来更新选定行,否则所有的行都会被更新。

33.Matplotlib 是 Python 的绘图库,它不能与 NumPy 一起使用,只能与图形工具包一起使用。(  错)

34.运行下列代码,输出结果是[1. 1. 1. 1. 1.]。(对  )

 import numpy as npx = np.ones(5)print(x)


35.对于文本文件, 使用Python内置函数open()以读文本模式成功打开后,返回的文件对象可以使用for循环直接迭代。( 对 )
 
三、编程题(共3题,共30分)
36.当前,我国正在开展新型冠状病毒疫苗接种,帮助政教员小叶排摸全校教职员工接种情况,根据每天汇总的接种登记表(包含全校教职员工的姓名、组别、年龄、是否接种等信息,已转换为csv格式,见图1”),小徐利用 Python 编写了一个统计程序,方便向校领导汇报各教研组接种情况及全校接种比例等。该程序运行的部分界面如图2所示,请在程序划线处填入合适的代码。
   
图1
 
图2

 

 

import csv
f = open("/data/vi.csv", "r")
Vac_T = {"语文组": 0, "数学组": 0, "英语组": 0, "物理组": 0, "化学组": 0, "生物组": 0, "政治组":0,"历史组":0,"地理组":0,"技术组":0,"体音美组":0,"后勤组":0,"政教组": 0}
Vac_F = {"语文组": 0, "数学组": 0, "英语组": 0, "物理组": 0, "化学组": 0, "生物组": 0, "政治组":0,"历史组":0,"地理组":0,"技术组":0,"体音美组":0,"后勤组":0,"政教组": 0}
list1 =[] 
zrs = 0
zu_max = 0
line = f.readline()
while line:line = line.strip('\n')  #去除前后空格data = line.split(",")   #用,分割list1.append(data)       #将整理好的数据添加进列表①           
print(list1[:5])
print("--------------------------------------------")
f.close()  
num = len(list1)
for i in range(num):line_list = list1[i]  if            ②           :Vac_T[line_list[1]] += 1else:Vac_F[line_list[1]] += 1
for i in Vac_T:zu_per = Vac_T[i]/(Vac_T[i]+Vac_F[i])  if zu_per > zu_max:zu_max = zu_perzu = i③          
tot_per = int(zrs/num*10000+0.5)/100
print("各组接种人数:", Vac_T)
print("各组未接种人数:", Vac_F)
print("全校接种比例:", tot_per)
print("接种疫苗比例最高的组:", zu)

参考程序:

import csv
f = open("/data/vi.csv", "r")
Vac_T = {"语文组": 0, "数学组": 0, "英语组": 0, "物理组": 0, "化学组": 0, "生物组": 0, "政治组":0,"历史组":0,"地理组":0,"技术组":0,"体音美组":0,"后勤组":0,"政教组": 0}
Vac_F = {"语文组": 0, "数学组": 0, "英语组": 0, "物理组": 0, "化学组": 0, "生物组": 0, "政治组":0,"历史组":0,"地理组":0,"技术组":0,"体音美组":0,"后勤组":0,"政教组": 0}
list1 =[] 
zrs = 0
zu_max = 0
line = f.readline()
while line:line = line.strip('\n')  #去除前后空格data = line.split(",")   #用,分割list1.append(data)       #将整理好的数据添加进列表line = f.readline()      #继续读下一行数据
print(list1[:5])             #输出前5个数据
print("--------------------------------------------")
f.close()                    #关闭读取
num = len(list1)             #列表1的长度
for i in range(num):         #循环遍历列表1line_list = list1[i]     #将列表1里面的数都放进新列表里面if line_list[3] == "是":        #如果索引为3的显示为是Vac_T[line_list[1]] += 1    #放进已接种else:Vac_F[line_list[1]] += 1    #放进未接种
for i in Vac_T:                                  #循环已接种列表zu_per = Vac_T[i]/(Vac_T[i]+Vac_F[i])        #计算接种比例if zu_per > zu_max:                          #将每个组得接种比例进行比较zu_max = zu_per                          #进行冒泡排序,比较出比例最高得组zu = i                                   #将最高得组赋予zuzrs += Vac_T[i]                              #全部接种人数                         
tot_per = int(zrs/num*10000+0.5)/100             #全校接种比例
print("各组接种人数:", Vac_T)
print("各组未接种人数:", Vac_F)
print("全校接种比例:", tot_per)
print("接种疫苗比例最高的组:", zu)


评分标准:
(1)line = f.readline() ; (3分)
(2)line_list[3] == "是"  ;  (4分)
(3)zrs += Vac_T[i] 。  (3分)


37.小强建立了一个简易的学生信息系统,使用SQlite进行数据的增加记录和修改记录操作,存储数据,每位学生的记录包含id、name和age这3个字段。程序运行界面如图所示。
 
程序运行时,显示数据库students.db中的数据表users中的所有记录,用户输入1表示增加记录,输入id、name和age后,记录将增加到数据库中。用户输入2表示修改记录,输入id、name和age后,根据id修改对应的name 和age的值。
程序代码如下: 
 
 

import sqlite3
con = sqlite3.connect('students.db')
cursor = con.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS users(  id int(8) primary key,name varchar(18), Age int(8))''')
cursor.close()
con.commit()
con.close()
def user_insert(user_id, user_name, user_age):con = sqlite3.connect('students.db')cursor = con.cursor()cursor.execute("insert into users (id,name,age) values (?,?,?)", (user_id, user_name, user_age))cursor.close()con.commit()con.close()
def user_select():con = sqlite3.connect('           ①           ')cursor = con.cursor()②            ('select * from users')print(cursor.fetchall())cursor.close()con.close()
def user_update(user_id, user_name, user_age):con = sqlite3.connect('students.db')cursor = con.cursor()cursor.execute('UPDATE users SET name=?,age=? WHERE id =?',(user_name, user_age,user_id))cursor.close()con.commit()con.close()
print("------------学生信息系统样例------------")
while True:③          s = int(input("请输入操作符:1-增加记录,2-修改记录,3-退出系统"))if            ④           :breakuser_id = int(input("请输入id:"))user_name = input("请输入name:")user_age = input("请输入age:")if s == 1:    # 增加记录⑤           print("插入成功!")
elif s == 2:  # 修改记录user_update(user_id, user_name, user_age)print("修改成功!")请在画线处填入正确的代码。


参考程序:

import sqlite3             # 导入
con = sqlite3.connect('students.db')
cursor = con.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS users(  id     int(8) primary key,name   varchar(18),Age    int(8))''')
cursor.close()
con.commit()
con.close()
def user_insert(user_id, user_name, user_age):con = sqlite3.connect('students.db')cursor = con.cursor()cursor.execute("insert into users (id,name,age) values (?,?,?)", (user_id, user_name, user_age))cursor.close()con.commit()con.close()
def user_select():             # 定义user_select函数,用于读取学生数据con = sqlite3.connect(' students.db ')   # 连接students.dbcursor = con.cursor()                    # 创建游标cursor.execute ('select * from users')   # 执行SQL语句print(cursor.fetchall())                 # 获取所有数据cursor.close()                           # 关闭游标con.close()                              # 关闭连接
def user_update(user_id, user_name, user_age):con = sqlite3.connect('students.db')cursor = con.cursor()cursor.execute('UPDATE users SET name=?,age=? WHERE id =?',(user_name, user_age,user_id))cursor.close()con.commit()con.close()print("------------学生信息系统样例------------")
while True:user_select()                            # 读取数据s = int(input("请输入操作符:1-增加记录,2-修改记录,3-退出系统")) # 输入操作符if s == 3 :                              # 选择3代表退出系统breakuser_id = int(input("请输入id:"))       # 输入user_iduser_name = input("请输入name:")        # 输入user_nameuser_age = input("请输入age:")          # 输入user_ageif s == 1:                              # 增加记录user_insert(user_id, user_name, user_age)   # 调用插入函数print("插入成功!")                 # 显示插入成功信息
elif s == 2:                            # 修改记录user_update(user_id, user_name, user_age) # 调用user_update函数print("修改成功!")                      # 显示修改成功信息


评分标准:
(1)students.db;(2分)
(2)cursor.execute;(2分)
(3)user_select();(2分)
(4)s == 3;(2分)
(5)user_insert(user_id, user_name, user_age)。(2分)

38.编程定义一个类,实现求长方体体积,并输出当长方体的长度、宽度和高度分别为10、20和30时的体积,请保留小数点后两位数字。
请补全代码:

class Box():def __init__(           ①           ):②           =length1③           =width1④           =height1def volume(self):return            ⑤           
my_box=Box(10,20,30)
print("长方体体积是%.2f"%my_box.volume())

参考程序:
 

class Box():def __init__(self,length1,width1,height1):self.length=length1self.width=width1self.height=height1def volume(self):return self.length*self.width*self.height
my_box=Box(10,20,30)
print("长方体体积是%.2f"%my_box.volume())


评分标准:
(1)self,length1,width1,height1;(2分)
(2)self.length;(2分)
(3)self.width; (2分)
(4)self.height;(2分)
(5)self.length*self.width*self.height。(2分)
————————————————
版权声明:本文为CSDN博主「Lemon Liu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_46227121/article/details/130060583

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/2168.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 环境变量 命令行参数

文章目录 问题引入环境变量环境变量相关操纵(附源码)命令行参数问题解释 问题引入 Linux下,为什么我们自己写的可执行文件需要写明路径才可以执行,而系统的命令不需要? 如何使自己的命令也可以不带路径执行&#xff…

SAP-QM质量管理视图字段解析

QM物料授权:如果在物料主记录中输入物料授权组,则系统将检查(在物料基础上)用户是否具有对以上名称对象的授权。如果未输入授权组,则不进行授权检查。要通过授权检查,用户需要 物料授权,其中包含有字段值所表示的相关授权组。 收货处理时间:收货后的加盐时间(天数)如…

基于Servlet+JDBC实现的基础博客系统>>系列3 -- Servlet后端服务器搭建

目录 前言 1. 前期准备 2. Model层 2.1 数据库的设计 2.2 数据库表对应的实体类实现 User类 Blog类 2.3 JDBC 工具类实现 2.4 UserDao 的实现 2.5 BlogDao 的实现 3. Controller 层实现 3.1 博客列表页 3.1.1 约定前后端交互接口 3.1.2 编写后端代码 3.1.3 编写…

Redis复习

文章目录 分布式锁基本概念及问题超时问题可重入锁 Pub/Sub消息多播Pub/Sub模式订阅消息结构PubSub缺陷 线程 I/O模型非阻塞I/O事件轮询(多路复用)select函数指令队列 分布式锁 基本概念及问题 如果操作要修改用户状态,需要先读取再修改用户…

Nginx | 苹果电脑Mac安装和验证Nginx服务过程记录

common wx:CodingTechWork,一起学习进步。 引言 本文主要总结如何在Mac电脑上进行Nginx服务的安装,重点讲解使用brew命令进行安装和验证的过程及问题记录。 安装步骤 安装过程记录 查看nginx信息 首先使用命令brew info nginx进行本机ng…

Linux下Master-Master Replication Manager for MySQL 双主故障切换

简述: Master-Master Replication Manager for MySQL(MMRM)是一种用于MySQL数据库的主-主复制管理工具。它允许在多个MySQL主机之间建立双向的主-主复制关系,实现数据的同步和高可用性。 工作原理是通过在每个MySQL主机上配置双…

传统后端漏洞----(Web Server) 解析漏洞

笔记 前言IIS解析漏洞文件夹解析漏洞原理限制条件 ";" 分号截断漏洞原理 IIS解析漏洞检测IIS 文件夹解析漏洞检测IIS 分号截断漏洞检测 防御手段 Nginx解析漏洞Nginx 文件类型错误解析漏洞导致任意PHP代码执行原理Nginx 空字节解析漏洞导致任意文件可解析&#xff08…

【详细分析】thinkphp反序列化漏洞

文章目录 配置xdebug反序列化漏洞利用链详细分析poc1(任意文件删除)测试pocpoc2(任意命令执行)poc3(任意命令执行) 补充代码基础函数trait关键字应用案例优先级多trait 配置xdebug php.ini [Xdebug] zend…

Spring Boot 中的 WebMvc 是什么,原理,如何使用

Spring Boot 中的 WebMvc 是什么,原理,如何使用 介绍 在 Spring Boot 中,WebMvc 是非常重要的一个模块。它提供了一系列用于处理 Web 请求的组件和工具。在本文中,我们将介绍 Spring Boot 中的 WebMvc 是什么,其原理…

“配置DHCP Snooping实验:保护网络中的DHCP服务和防止欺骗攻击“

"配置DHCP Snooping实验:保护网络中的DHCP服务和防止欺骗攻击" 【实验目的】 部署DHCP服务器。熟悉DHCP Snooping的配置方法。验证拓扑。 【实验拓扑】 实验拓扑如图所示。 设备参数如下表所示。 设备 接口 IP地址 子网掩码 默认网关 R1 F0/0 …

vue element UI在button按钮使用 @keyup.enter不生效

如图所示,没效果。在按钮上绑定keyup事件,加上.native覆盖原有封装的keyup事件 解决办法 created () {document.onkeyup e > {if (e.keyCode 13 && e.target.baseURI.match(/login/)) {// 调用登录 验证方法this.submitForm()}}}成功解决&…

MySQL子查询

😇作者介绍:一个有梦想、有理想、有目标的,且渴望能够学有所成的追梦人。 🎆学习格言:不读书的人,思想就会停止。——狄德罗 ⛪️个人主页:进入博主主页 🗼专栏系列:进入MySQL专栏知…