day15-homework

0.定義一個(gè)學(xué)生類。有屬性:姓名、年齡、成績(jī)(語文,數(shù)學(xué),英語)[每課成績(jī)的類型為整數(shù)]

方法: a. 獲取學(xué)生的姓名:getname() b. 獲取學(xué)生的年齡:getage()

c. 返回3門科目中最高的分?jǐn)?shù)。get_course()

class Student:
    def __init__(self,name,age,chinese,math,english):
        self.__name = name
        self.__age = age
        self._chinese = chinese
        self._math = math
        self._english = english
    def getName(self):
        return self.__name
    def getage(self):
        return self.__age
    def get_course(self):
        return max(self._chinese,self._english,self._math)

    @property
    def chinese(self):
        return self._chinese

    @chinese.setter
    def chinese(self,chinese):
        if isinstance(chinese,int):
            raise ValueError
        if not 0<=chinese<=100:
            raise ValueError
        self._chinese = chinese

    @property
    def math(self):
        return self._math

    @math.setter
    def math(self, math):
        if isinstance(math, int):
            raise ValueError
        if not 0 <= math <= 100:
            raise ValueError
        self._math = math

    @property
    def english(self):
        return self._english

    @english.setter
    def english(self, english):
        if isinstance(english, int):
            raise ValueError
        if not 0 <= english <= 100:
            raise ValueError
        self._english = english

student = Student("老劉",20,80,85,75)
print(student.chinese)
print(student.getName())
print(student.getage())
print(student.get_course())

1.建立一個(gè)汽車類Auto,包括輪胎個(gè)數(shù),汽車顏色,車身重量,速度等成員變量,并通過不同的構(gòu)造方法創(chuàng)建實(shí)例。至少要求 汽車能夠加速 減速 停車。 再定義一個(gè)小汽車類CarAuto 繼承Auto 并添加空調(diào)、CD等成員變量 覆蓋加速 減速的方法

class Auto:
    def __init__(self,tyre,color,weight,speed):
        self.tyre = type
        self.color = color
        self.weight = weight
        self.speed = speed
    def speedUp(self):
        self.speed += 1
        return '速度+1'
    def speedDown(self):
        self.speed -= 1
        return '速度-1'
    def speedStop(self):
        self.speed = 0
        return '停止'
class CarAuto(Auto):
    def __init__(self,tyre,color,weight,speed,airAonditioner,cd):
        super().__init__(tyre,color,weight,speed)
        self.airAonditioner = airAonditioner
        self.cd = cd

carAuto = CarAuto(5,'white','2000kg',60,'美的','飛翔')
print(carAuto.speedUp())
print(carAuto.speedDown())
print(carAuto.speedStop())
print(carAuto.airAonditioner)
print(carAuto.cd)

2.創(chuàng)建一個(gè)名為User 的類,其中包含屬性firstname 和lastname ,還有用戶簡(jiǎn)介通常會(huì)存儲(chǔ)的其他幾個(gè)屬性。在類User 中定義一個(gè)名 為describeuser() 的方法,它打印用戶信息摘要;再定義一個(gè)名為greetuser() 的方法,它向用戶發(fā)出個(gè)性化的問候。

管理員是一種特殊的用戶。編寫一個(gè)名為Admin 的類,讓它繼承User類。添加一個(gè)名為privileges 的屬性,用于存儲(chǔ)一個(gè)由字符串(如"can add post"、"can delete post"、"can ban user"等)組成的列表。編寫一個(gè)名為show_privileges()的方法,它顯示管理員的權(quán)限。創(chuàng)建一個(gè)Admin 實(shí)例,并調(diào)用這個(gè)方法。

class User:
    def __init__(self,firstname,lastname,age,hobby,university):
        self.firstname = firstname
        self.lastname = lastname
        self.age = age
        self.hobby = hobby
        self.university = university
    def describeuser(self):
        return self.lastname+'曾經(jīng)用過:'+self.firstname+'的名字,今年'+str(self.age)+'歲,喜歡'+self.hobby+',畢業(yè)于'+self.university
    def greetuser(self):
        return '親愛的'+self.lastname+'你好,聽說'+self.hobby+'的人都很帥~~~'
class Admin(User):
    def __init__(self,firstname,lastname,age,hobby,university,privileges=["can add post","can delete post","can ban user"]):
        super().__init__(firstname,lastname,age,hobby,university)
        self.privileges = privileges
    def show_privileges(self):
        return self.privileges

admin = Admin('Randy','Wildpigger',21,'唱歌','小野豬野生學(xué)院',["can add post","can delete post"])
print(admin.describeuser())
print(admin.greetuser())
print(admin.show_privileges())

3.創(chuàng)建一個(gè)Person類,添加一個(gè)類字段用來統(tǒng)計(jì)Perosn類的對(duì)象的個(gè)數(shù)

class Person:
    num = 0
    def __init__(self,name):
        Person.num += 1
        self.name = name
        print(self.name+'是第'+ str(Person.num) +'個(gè)創(chuàng)建的對(duì)象~~~')

    @classmethod
    def personNums(self):
        return '總共'+str(Person.num)+'個(gè)人~~'

p1 = Person('老劉')
p2 = Person('老曾')
p3 = Person('老余')
print(Person.personNums())

(嘗試)5.寫一個(gè)類,其功能是:1.解析指定的歌詞文件的內(nèi)容 2.按時(shí)間顯示歌詞 提示:歌詞文件的內(nèi)容一般是按下面的格式進(jìn)行存儲(chǔ)的。歌詞前面對(duì)應(yīng)的是時(shí)間,在對(duì)應(yīng)的時(shí)間點(diǎn)可以顯示對(duì)應(yīng)的歌詞

[00:00.20]藍(lán)蓮花
[00:00.80]沒有什么能夠阻擋
[00:06.53]你對(duì)自由地向往
[00:11.59]天馬行空的生涯
[00:16.53]你的心了無牽掛
[02:11.27][01:50.22][00:21.95]穿過幽暗地歲月
[02:16.51][01:55.46][00:26.83]也曾感到彷徨
[02:21.81][02:00.60][00:32.30]當(dāng)你低頭地瞬間
[02:26.79][02:05.72][00:37.16]才發(fā)覺腳下的路
[02:32.17][00:42.69]心中那自由地世界
[02:37.20][00:47.58]如此的清澈高遠(yuǎn)
[02:42.32][00:52.72]盛開著永不凋零
[02:47.83][00:57.47]藍(lán)蓮花
class IrcAnalysis:
    def __init__(self,MusicIrc:str):
        self.MusicIrc = MusicIrc
    def Analysis(self):
        '''

        :return:分析后的歌詞
        '''
        self.line = self.MusicIrc.split('\n')
        self.new_line=[]
        for i in range(len(self.line)):
            temp = self.line[i][::-1].split(']',1)
            temp[0] = temp[0][::-1]
            temp[1] = temp[1][::-1].lstrip('[').split('][')
            for j in range(len(temp[1])):
                item = temp[1][j].split(':')
                item = float(item[0])*60 + float(item[1])
                line=[float('%.2f'%item),temp[0]]
                self.new_line.append(line)
        self.new_line.sort(key=lambda x:x[0])
        return self.new_line
    def timeChange(self,time):
        '''
        :param time:以秒的形式輸入:直接輸入數(shù)值,如:10,12.5,16.05        或者以'02:06.05'形式輸入
        :return: 標(biāo)準(zhǔn)時(shí)間
        '''
        time = str(time).split(':')
        if len(time)>1:
            time = float(time[0])*60+float(time[1])
            return time
        else:
            return float(time[0])
    def getNowIrc(self,time):
        '''
        :param time:以秒的形式輸入:直接輸入數(shù)值,如:10,12.5,16.05        或者以'02:06.05'形式輸入
        :return: 當(dāng)前歌詞
        '''
        self.Analysis()
        time = self.timeChange(time)
        if time < self.new_line[0][0]:
            return 'None'

        for i in range(len(self.new_line)):
            if self.new_line[i][0] <= time < self.new_line[i+1][0]:
                return self.new_line[i][1]



irc = '''[00:00.20]藍(lán)蓮花
[00:00.80]沒有什么能夠阻擋
[00:06.53]你對(duì)自由地向往
[00:11.59]天馬行空的生涯
[00:16.53]你的心了無牽掛
[02:11.27][01:50.22][00:21.95]穿過幽暗地歲月
[02:16.51][01:55.46][00:26.83]也曾感到彷徨
[02:21.81][02:00.60][00:32.30]當(dāng)你低頭地瞬間
[02:26.79][02:05.72][00:37.16]才發(fā)覺腳下的路
[02:32.17][00:42.69]心中那自由地世界
[02:37.20][00:47.58]如此的清澈高遠(yuǎn)
[02:42.32][00:52.72]盛開著永不凋零
[02:47.83][00:57.47]藍(lán)蓮花'''
musicIrc = IrcAnalysis(irc)
print(musicIrc.getNowIrc('02:00.05'))
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 承蒙你出現(xiàn) 夠我快樂好些天。
    小七信箱閱讀 119評(píng)論 0 0
  • 有涯此生,弘文尚武; 無量天地,道法自然。
    劍仙裴宣閱讀 376評(píng)論 0 3
  • 文|空修 風(fēng)開滿樹的枝椏 雪花在哭 小姑娘照亮了夜路 街燈在苦訴 我把回憶凍在鐵軌上 每根枕木刻一句詞 一次顫動(dòng)是...
    空修閱讀 163評(píng)論 2 5

友情鏈接更多精彩內(nèi)容