2018-09-07homework

2018-09-08  本文已影响6人  Smilebest

1.定义一个学生类。有属性:姓名、年龄、成绩(语文,数学,英语)[每课成绩的类型为整数]
方法: a. 获取学生的姓名:getname() b. 获取学生的年龄:getage()
c. 返回3门科目中最高的分数。get_course()

class Student:
    def  __init__(self,name,age,course):
        self.name = name
        self.age = age
        self.course = course

    def getname(self):
        print(self.name)

    def getage(self):
        print(self.age)

    def get_course(self):
        print(max(self.course))

s1 = Student('张三丰',20,[80,95,70])
s1.getname()
s1.getage()
s1.get_course()

结果:
张三丰
20
95

2.建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等成员变量,并通过不同的构造方法创建实例。至少要求汽车能够加速 减速 停车。 再定义一个小汽车类CarAuto 继承Auto 并添加空调、CD等成员变量 覆盖加速 减速的方法

class Auto:
    def __init__(self,number_tyre=4,color='红色',weight=200):
        self.number_tyre = number_tyre
        self.color = color
        self.weight = weight
        self.speed = 0
    def speed_up(self):
        self.speed + 10
        print('加速')
    def speed_down(self):
        self.speed - 10
        print('减速')
    def stop(self):
        self.speed == 0
        print('停车')


class CarAuto(Auto):
    def __init__(self):
        super().__init__()
        self.air_conditioner = '空调'
        self.cd = 'CD'
    def stop(self):
        super().stop()

a = Auto(4,'蓝色','300kg')
print(a.number_tyre,a.color,a.weight)
a.speed_down()
a.speed_up()
a.stop()

C = CarAuto()
C.stop()
print(C.air_conditioner)
print(C.cd)

结果:
4 蓝色 300kg
减速
加速
停车
停车
空调
CD

3.创建一个名为User 的类,其中包含属性firstname 和lastname ,还有用户简介通常会存储的其他几个属性。在类User 中定义一个名 为describeuser() 的方法,它打印用户信息摘要;再定义一个名为greetuser() 的方法,它向用户发出个性化的问候。管理员是一种特殊的用户。编写一个名为Admin 的类,让它继承User类。添加一个名为privileges 的属性,
用于存储一个由字符串(如"can add post"、"can delete post"、"can ban user"等)组成的列表。编写一个名为show_privileges()的方法,它显示管理员的权限。创建一个Admin 实例,并调用这个方法。

class User:
    def __init__(self,firstname='三丰',lastname='张',age=22,sex='男'):
        self.firstname = firstname
        self.lastname = lastname
        self.age = age
        self.sex = sex
    def describeuser(self):
        print('姓名:%s %s 年龄:%d 性别:%s'% (self.lastname,self.firstname,self.age,self.sex))
    def greetuser(self):
        print('尊敬的用户,您好!,欢迎使用!')

class Admin(User):
    def __init__(self):
        super().__init__()
        self.privileges = ['can add post', 'can delete post', 'can ban user']
    def show_privileges(self):
        for privileges in self.privileges:
            print(privileges)

a = Admin()
print(a.lastname)
a.show_privileges()
a.greetuser()
a.describeuser()

结果:
张 三丰
can add post
can delete post
can ban user
尊敬的用户,您好!,欢迎使用!
姓名:张三丰 年龄:22 性别:男

4.创建一个Person类,添加一个类字段用来统计Perosn类的对象的个数

class Person:
    count = 0
    def __init__(self,name,age,sex):
        self.name =name
        self.age = age
        self.sex = sex
        Person.count += 1
p1=Person('盖聂',26,'男')
print(Person.count)
p2=Person('月儿',22,'女')
print(Person.count)

5.写一个类,其功能是:1.解析指定的歌词文件的内容 2.按时间显示歌词
提示:歌词文件的内容一般是按下面的格式进行存储的。歌词前面对应的是时间,在对应的时间点可以显示对应的歌词

class Song_Lyric:
    '''歌词类'''
    def __init__(self,song_name = str):
        self.song_name = song_name
        self.content = []
        self.time = {}
    def Lyric_content(self):
        with open('./song_name.txt','r',encoding='utf-8') as f:
            while True:
                Lyric = f.readline()
                if len(Lyric) == 0:
                    break
                # 按']',进行切割,取出歌词
                content = Lyric.split(']')[-1]
                # 去掉每行的间隔
                content = content.rstrip('\n')
                # 把歌词存在一个新的列表里
                self.content.append(content)
        for item in self.content:
            print(item)
    def Lyric_time(self):
        with open('./song_name.txt','r',encoding='utf-8') as f:
            while True:
                Lyric = f.readline()
                if not len(Lyric):
                    break
                # 按']',进行切割,取出时间
                content = Lyric.split(']')
                # 取出歌词,消除间隔
                content1 = content[-1].rstrip('\n')
                # 遍历时间信息
                for item in content[0:-1]:
                    self.time[item[1:]] = content1
                keys = list(self.time.keys())
                keys.sort()
                dict1 = {}
                for key in keys:
                    dict1[key] = self.time[key]
                self.time = dict1
            return self.time


s = Song_Lyric()
s.Lyric_content()
t = s.Lyric_time()
for key in t:
    print(key,t[key])

结果:

蓝莲花
没有什么能够阻挡
你对自由地向往
天马行空的生涯
你的心了无牵挂
穿过幽暗地岁月
也曾感到彷徨
当你低头地瞬间
才发觉脚下的路
心中那自由地世界
如此的清澈高远
盛开着永不凋零
蓝莲花
00:00.20 蓝莲花
00:00.80 没有什么能够阻挡
00:06.53 你对自由地向往
00:11.59 天马行空的生涯
00:16.53 你的心了无牵挂
00:21.95 穿过幽暗地岁月
00:26.83 也曾感到彷徨
00:32.30 当你低头地瞬间
00:37.16 才发觉脚下的路
00:42.69 心中那自由地世界
00:47.58 如此的清澈高远
00:52.72 盛开着永不凋零
00:57.47 蓝莲花
01:50.22 穿过幽暗地岁月
01:55.46 也曾感到彷徨
02:00.60 当你低头地瞬间
02:05.72 才发觉脚下的路
02:11.27 穿过幽暗地岁月
02:16.51 也曾感到彷徨
02:21.81 当你低头地瞬间
02:26.79 才发觉脚下的路
02:32.17 心中那自由地世界
02:37.20 如此的清澈高远
02:42.32 盛开着永不凋零
02:47.83 蓝莲花
上一篇下一篇

猜你喜欢

热点阅读