image

编辑人: 青衫烟雨

calendar2025-06-06

message9

visits114

2024月03月Python六级实操参考答案

一、编程题

1、电视类问题

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

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))

参考答案:1. 在`TV`类的构造函数中,`①`处应填写`__init__`,表示类的初始化方法。2. `②`处应填写`size`,表示电视的尺寸。3. 在`SmartTV`类的`disconnect_internet`方法中,`③`处应填写`self.internet=False`,表示断开网络连接。4. 在`watch_online`方法中,`④`处应填写`self.internet`,表示判断电视是否连接网络。5. 在创建`SmartTV`实例时,`⑤`处应填写`SmartTV`,表示创建智能电视的实例。


2、学生基本情况

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()

参考答案:1. 建立一个空数据库Studase.db,按照题目中所示的表结构,创建学生基本情况表students的代码为:```pythonconn = sqlite3.connect('Studase.db')cursor = conn.cursor()cursor.execute('''CREATE TABLE students(学号 TEXT NOT NULL,班级 INTEGER,姓名 TEXT(10) NOT NULL,性别 TEXT(1) NOT NULL,身高 INTEGER);''')conn.commit()```2. 为表students添加数据的代码为:```pythoncursor.execute("INSERT INTO students(学号,班级,姓名,性别,身高) VALUES ('20210267',1,'孙玉洁','女',167)")conn.commit()```3. 删除表students中1班的学生信息的代码为:```pythoncursor.execute("DELETE FROM students where 班级=1")conn.commit()```4. 查询并输出表students的内容的代码为:```pythoncursor.execute("SELECT * FROM students")for i in cursor.fetchall():print(i)```


3、随机列表问题

随机生成一个长度为 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)

参考答案:根据题目要求,我们可以修改和完善给出的代码片段。以下是修正后的代码:```pythonimport random# 生成长度为100的整数列表lis = [random.randint(1, 100) for _ in range(100)]# 将列表以每10个数字为一行写入文本文件with open("record.txt", "w") as f:for i in range(0, len(lis), 10):f.write(" ".join(map(str, lis[i:i+10])) + "\n")# 从文本文件中读取数字并放入列表lis_date = []with open("record.txt") as f:for line in f:lis_date.extend(map(int, line.strip().split()))# 按数字升序输出列表last_date = sorted(lis_date)print(last_date)```


喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:2024月03月Python六级实操参考答案

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share