美文网首页
Day14-作业

Day14-作业

作者: 晓晓的忍儿 | 来源:发表于2018-08-02 20:09 被阅读0次

    0.定义⼀个学⽣类。有属性:姓名、年龄、成绩(语⽂,数学,英语)[每课成绩的类型为整数]
    ⽅法: a. 获取学⽣的姓名:getname() b. 获取学⽣的年龄:getage()
    c. 返回3⻔科⽬中最⾼的分数。get_course()

    class Student:
        def __init__(self,name='',age=0):
            self.name=name
            self.age=age
            self.score={}
        def get_name(self):
            return self.name
        def get_age(self):
            return self.age
        def max_score(self):
            max_score=0
            k=''
            for key in self.score:
                if max_score<self.score[key]:
                    k=''
                    max_score=self.score[key]
                    k=key
            return k,max_score
    if __name__ == '__main__':
        stu=Student('小李',20)
        stu.score={'语文':80,'数学':81,'英语':79}
        print(stu.get_name(),stu.get_age(),stu.max_score(),sep='\n')
    

    小李
    20
    ('数学', 81)

    #1.建⽴⼀个汽⻋类Auto,包括轮胎个数,汽⻋颜⾊,⻋身重量,速度等成员变量,并通过不同的构造⽅法创
    # 建实例。⾄少要求 汽⻋能够加速 减速 停⻋。 再定义⼀个⼩汽⻋类CarAuto 继承Auto 并添加空调、CD等成
    # 员变量 覆盖加速 减速的⽅法
    class Auto:
    
        def __init__(self,color):
            self.tires = 4
            self.color=color
            self.heavy='5t'
            self.speed=40
        def acceleration(self,add):
            self.speed+=add
            return '已经加速%s'% add
        def decelerate(self,sub):
            self.speed+=sub
            return '已经减速%s'% sub
        def stop(self):
            self.speed=0
            print('停车')
    class CarAuto(Auto):
        def __init__(self,color):
            super().__init__(color)
            self.air_condition='加热'
            self.CD='周杰伦'
        def acceleration(self,add):
            self.speed+=add
            return '小汽车已经加速%s'% add
        def decelerate(self,sub):
            self.speed+=sub
            return '小汽车已经j减速%s'% sub
    

    red 40 4 周杰伦
    小汽车已经加速10 小汽车已经减速20 70
    停车
    0

    2.创建⼀个名为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):
            self.firstname=firstname
            self.lastname=''
            self.age=0
            self.sex='男'
            self.like=''
            self.height=0
        def describeuser(self):
            print('姓名:%s 曾用名:%s 年龄:%d 性别:%s 爱好:%s 身高:%d米'% (self.firstname,self.lastname,self.age,self.sex,self.like,self.height))
        def greetuser(self):
            print('%s世界因你而精彩。'% self.firstname)
            print('%s一生还房款吧。' % self.firstname)
    
    class Admin(User):
        def __init__(self,firstname):
            super().__init__(firstname)
            self.privileges=[]
        def show_privileges(self):
            for str in self.privileges:
                print('%s%s'%(self.firstname,str))
    admin=Admin('小人')
        admin.privileges=['can add pos',"can delete post","can ban user"]
        admin.lastname='人傻'
        admin.age=22
        admin.sex='女'
        admin.like='吃屎'
        admin.height=1.5
        admin.describeuser()
        admin.greetuser()
        admin.show_privileges()
    
    

    姓名:小人 曾用名:人傻 年龄:22 性别:女 爱好:吃屎 身高:1米
    小人世界因你而精彩。
    小人一生还房款吧。
    小人can add pos
    小人can delete post
    小人can ban user

    3.创建⼀个Person类,添加⼀个类字段⽤来统计Perosn类的对象的个数

    class Person:
        number=0
        def __init__(self):
            Person.number+=1
        def __del__(self):
            Person.number-=1
    

    5

    (尝试)5.写⼀个类,其功能是:1.解析指定的歌词⽂件的内容 2.按时间显示歌词 提示:歌词⽂件的内容⼀般
    是按下⾯的格式进⾏存储的。歌词前⾯对应的是时间,在对应的时间点可以显示对应的歌词

    import time
    class Music:
        lyric_list=[]
        def __init__(self):
            pass
        @classmethod
        def get_lyric(cls):
            '''解析歌词'''
            with open('./text.txt','r',encoding='utf-8') as f:
                lyric=f.read()
                str1=lyric[13]
                str2=''
                list1=lyric.splitlines()
                for str in list1:
                    str2+=str
                num=0
                str3=''
                for chr in str2[:]:
                    if num>2:
                        if chr!=']' and chr!='[':
                            str3+=chr
                        elif chr==']':
                            str3+=chr+' '
                        elif chr=='[':
                            str3+=' '+chr
                    else:
                        str3+=chr
                    num+=1
                list1=str3.split()
                list2=list1[::-1]
                while True:
                    x=0
                    for str5 in list2[:]:
                        if x%2==0:
                            if '[' in str5:
                                list2.insert(x,list2[x-2])
                                break
                        x+=1
                    if x==len(list2):
                        break
                list3=list2[::-1]
                for x in range(0,len(list3),2):
                    for y in range(x+2,len(list3),2):
                        if list3[x]>list3[y]:
                            list3[x],list3[x+1],list3[y],list3[y+1]=list3[y],list3[y+1],list3[x],list3[x+1]
                            min=x
                for x in range(0, len(list3), 2):
                    str4=''
                    for chr in list3[x]:
                        if chr!='[' and chr!=']':
                            str4+=chr
                    list3[x]=str4
                    print(list3[x], list3[x + 1], sep='')
            Music.lyric_list=list.copy(list3)
            return list3
        @classmethod
        def out_lyric(cls):
            '''按时间输出歌词'''
            # list3=cls.get_lyric()
            list3=cls.lyric_list
            times = 0
            times1 = time.time()
            for x in range(0, len(list3), 2):
                str6 = list3[x]
                print(list3[x], list3[x + 1], sep='')
                if x + 2 < len(list3):
                    mul1 = int(list3[x + 2][0:2])
                    mul2 = int(list3[x + 2][3:5])
                    mul3 = int(list3[x + 2][6:8])
                    mul4 = mul1 * 60 + mul2 + mul3/100
                    if mul4>int(times):
                        times2 = time.time()
                        times = times2 - times1
                        time.sleep(mul4-times)
            print(times)
        def set_time(self,time):#输入时间输出歌词
            # list3 = self.get_lyric()
            list3=Music.lyric_list
            print(list3)
            for x in range(0, len(list3), 2):
                if x + 2 < len(list3):
                    if time>list3[x] and time<list3[x+2]:
                        print(list3[x],list3[x+1],sep='')
    m=Music()
    m.get_lyric()
    m.out_lyric()
    m.set_time('[01:05.05]')
    

    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蓝莲花
    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蓝莲花
    162.32194995880127

    相关文章

      网友评论

          本文标题:Day14-作业

          本文链接:https://www.haomeiwen.com/subject/ihgsvftx.html