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

2025年3月电子学会青少年软件编程(Python六级)等级考试试卷
操作/编程 六级 2025 2025-04-15 19:56:01 118

一、编程题

1.

计算圆形的面积

编写一个父类Shape,具有一个属性color和一个方法get_area(),用于计算形状的面积。然后,基于Shape类创建子类Circle,表示圆形。子类需要实现父类的方法get_area()来计算自身的面积。

具体要求:

(1)Shape类包含以下属性和方法:

     属性:color(字符串类型,表示颜色)

     方法:get_area()(计算并返回面积,方法体为空,由子类实现)

(2)Circle类是Shape类的子类,包含以下属性和方法:

     属性:radius(浮点数类型,表示圆形的半径)

     方法:重写并实现get_area()方法,根据圆形的半径计算并返回面积。

请根据要求,补全代码。

import math

class Shape:

    def        ①        :

        self.color = color

    def get_area(self):

        Pass

class Circle(        ②        ):

    def         ③        :

        super().__init__(color)

        self.radius = radius

    def get_area(self):

        return math.pi * self.radius ** 2

circle =        ④        ("blue", 2)

print(        ⑤       

2.

学生数据库

编写程序操作SQLite数据库,并读出表中的数据。

具体要求如下:

(1)打开数据库连接;

(2)清除已存在的表 -students;

(3)创建一个表students;

(4)向新表插入数据;

(5)读取表students中数据。

(本题无需运行通过,写入代码即可)

import sqlite3

#打开数据库连接

conn = sqlite3.        ①        ('test.db')

print("Opend database successfully")

#清除已存在的表 -students

conn.        ②        ('''DROP TABLE students''');

conn.        ③        

#创建一个表students

conn.execute('''        ④        students

    (ID INT PRIMARY KEY NOT NULL,

    NAME  TEXT  NOT NULL,

    AGE  INT   NOT NULL);''')

print("Table created successfully");

conn.commit()

#插入数据

conn.execute("INSERT INTO students(ID,NAME,AGE) VALUES(1,'Allen',25)");

conn.execute("INSERT INTO students(ID,NAME,AGE) VALUES(2,'Maxsu',20)");

conn.execute("INSERT INTO students(ID,NAME,AGE) VALUES(3,'Teddy',24)");

conn.commit()

print("Records Insert successfully");

print("-------------------");

#读取表students

        ⑤        =conn.execute("SELECT * from students")

print ("ID NAME AGE")

for it in cursor:

    for i in range(len(it)):

        print(it[i])

    print ('\n')

conn.close()

3.

进制问题

如图所示为'data1.txt'中存储的数据,其中每一行都为24个由'0'和'1'组成的二进制数字,现编写Python程序读取'data1.txt'文件中的数据,并将二进制数字转换成十进制数字,转换规则为每八位二进制数字转换为一个十进制数,相应的Python代码如下,请补充完整。

f=open('/data/        ①        ','r')

line=f.readline().strip('\n')

s=0

s1=''

while line:

    for i in range(len(line)):

        s=s*2+        ②        

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

            s1=s1+str(s)+','

                    ③        

    s1=s1+'\n'

    line=        ④        .strip('\n')

print(s1)

公众号
客服 反馈
顶部