day16-作業(yè)

1.建立一個(gè)汽車類Auto缓艳,包括輪胎個(gè)數(shù)校摩,汽車顏色,車身重量阶淘,速度等屬性衙吩,并通過不同的構(gòu)造方法創(chuàng)建實(shí)例。至少要求 汽車能夠加速 減速 停車舶治。 再定義一個(gè)小汽車類CarAuto 繼承Auto 并添加空調(diào)分井、CD屬性,并且重新實(shí)現(xiàn)方法覆蓋加速霉猛、減速的方法

class Auto:
    tire = 4

    def __init__(self, color, weight, speed):
        self.color = color
        self.weight = weight
        self.speed = speed

    def add_speed(self):
        print('加速1')

    @classmethod
    def sub_speed(self):
        print('減速1')

    @staticmethod
    def stop():
        print('停車尺锚!1')


class CarAuto(Auto):
    kt = '空調(diào)'
    cd = 'cd'

    def add_speed(self):
        print('加速2')

    @classmethod
    def sub_speed(cls):
        print('減速2')


car = CarAuto('黑色', 1400, 240)

print(car.color, car.weight, car.speed)
print(CarAuto.kt, CarAuto.cd)

car.add_speed()
CarAuto.sub_speed()

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

class Person:
    all_number = 0

    def __init__(self):
        Person.all_number += 1

    def __del__(self):
        Person.all_number -= 1

    @classmethod
    def show_num(cls):
        print('目前被創(chuàng)造的對(duì)象個(gè)數(shù):{}'.format(Person.all_number))


Person.show_num()

all_person_list = []                 # 對(duì)象列表
for i in range(50):                  # 建造50個(gè)對(duì)象
    all_person_list.append(Person())

Person.show_num()

for i in range(15):                  # 刪除15個(gè)對(duì)象
    all_person_list.pop()

Person.show_num()

目前被創(chuàng)造的對(duì)象個(gè)數(shù):0
目前被創(chuàng)造的對(duì)象個(gè)數(shù):50
目前被創(chuàng)造的對(duì)象個(gè)數(shù):35

3.創(chuàng)建一個(gè)動(dòng)物類惜浅,擁有屬性:性別瘫辩、年齡、顏色坛悉、類型 伐厌,

要求打印這個(gè)類的對(duì)象的時(shí)候以'/XXX的對(duì)象: 性別-? 年齡-? 顏色-? 類型-?/' 的形式來打印

class Animal:
    def __init__(self,sex,age,color,kind):
        self.sex = sex
        self.age = age
        self.color = color
        self.kind = kind

    def show(self):
        print('{}的對(duì)象:性別-{} 年齡-{} 顏色-{} 類型-{}'.format(self.__class__,self.sex,self.age,self.color,self.kind))


a = Animal('公',3,'黑色','狗')

a.show()

<class '__main__.Animal'>的對(duì)象:性別-公 年齡-3 顏色-黑色 類型-狗

4.寫一個(gè)圓類, 擁有屬性半徑裸影、面積和周長挣轨;要求獲取面積和周長的時(shí)候的時(shí)候可以根據(jù)半徑的值把對(duì)應(yīng)的值取到。但是給面積和周長賦值的時(shí)候轩猩,程序直接崩潰卷扮,并且提示改屬性不能賦值

class Circle:
    pi = 3.141592653

    def __init__(self,r):
        self.r = r
        self._area = 0
        self._perimeter = 0

    @property
    def area(self):
        return Circle.pi * self.r ** 2

    @area.setter
    def area(self, value):
        raise ValueError

    @property
    def perimeter(self):
        return Circle.pi * self.r * 2

    @perimeter.setter
    def perimeter(self, value):
        raise ValueError


a = Circle(5)
print(a.area)
print(a.perimeter)

# a.area = 100
# a.perimeter = 100

5.寫一個(gè)撲克類, 要求擁有發(fā)牌和洗牌的功能(具體的屬性和其他功能自己根據(jù)實(shí)際情況發(fā)揮)

from random import *


class Poker:

    def __init__(self):
        self.card_list = [i + str(j) for i in ['紅桃', '黑桃', '方塊', '梅花'] for j in range(2, 11)] + [i + j for i in ['紅桃', '黑桃', '方塊', '梅花'] for j in ['A', 'J', 'Q', 'K']]

    def shuffle_card(self):
        shuffle(self.card_list)

    def get_card(self):
        new_card = iter(self.card_list)
        num = input('你想發(fā)幾張牌:')
        for _ in range(int(num)):
            print(next(new_card))


a = Poker()        # 生成牌對(duì)象
a.shuffle_card()   # 打亂牌序
a.get_card()       # 發(fā)牌

你想發(fā)幾張牌:7
紅桃7
黑桃5
梅花K
方塊9
紅桃5
紅桃8
黑桃6

6.(嘗試)寫一個(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)蓮花

lyrics = """
[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 Lyrics:

    def __init__(self: str, lyc):
        self.lyc = lyc

    def parsing(self):                                             # 解析函數(shù)
        list1 = self.lyc.split('\n')                               # 去除換行符
        list1 = [i for i in list1 if i != '']                      # 去除空元素
        list1 = [i.strip() for i in list1]                         # 去除空格

        list2 = [[float(i[j:j + 10][1:3] + i[j:j + 10][4:9]),      # 分析歌詞切片成需要的列表
                  i[i.rfind(']') + 1:]] for i in list1 for j \
                 in range(len(i) - 9) if i[j] == '[']

        list2.sort(key=lambda x: x[0])                             # 將列表以時(shí)間大小的順序排列

        return list2

    def show_lyc(self, time1: str):                                # 顯示函數(shù)
        time1 = float(time1[0:2] + time1[3:])                      # 將輸入的字符串轉(zhuǎn)化成浮點(diǎn)以比較時(shí)間大小

        for each in range(len(self.parsing())):                    # 遍歷列表彤委,找到大于輸入時(shí)間的元素返回上一句歌詞
            if time1 <= self.parsing()[each][0]:
                return self.parsing()[each-1][1]


a = Lyrics(lyrics)

print(a.show_lyc('00:15.53'))
print(a.show_lyc('02:15.60'))
print(a.show_lyc('00:49.58'))

天馬行空的生涯
穿過幽暗地歲月
如此的清澈高遠(yuǎn)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末鞭铆,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子焦影,更是在濱河造成了極大的恐慌车遂,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件偷办,死亡現(xiàn)場離奇詭異艰额,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)椒涯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門柄沮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事祖搓∮猓” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵拯欧,是天一觀的道長详囤。 經(jīng)常有香客問我,道長镐作,這世上最難降的妖魔是什么藏姐? 我笑而不...
    開封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮该贾,結(jié)果婚禮上羔杨,老公的妹妹穿的比我還像新娘。我一直安慰自己杨蛋,他們只是感情好兜材,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著逞力,像睡著了一般曙寡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上寇荧,一...
    開封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天举庶,我揣著相機(jī)與錄音,去河邊找鬼揩抡。 笑死灯变,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的捅膘。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼滚粟,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼寻仗!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起凡壤,我...
    開封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤署尤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后亚侠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體曹体,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年硝烂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了箕别。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖旦装,靈堂內(nèi)的尸體忽然破棺而出偏瓤,到底是詐尸還是另有隱情叛买,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布到忽,位于F島的核電站,受9級(jí)特大地震影響清寇,放射性物質(zhì)發(fā)生泄漏喘漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一华烟、第九天 我趴在偏房一處隱蔽的房頂上張望翩迈。 院中可真熱鬧,春花似錦垦江、人聲如沸帽馋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绽族。三九已至,卻和暖如春衩藤,著一層夾襖步出監(jiān)牢的瞬間吧慢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來泰國打工赏表, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留检诗,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓瓢剿,卻偏偏與公主長得像逢慌,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子间狂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355