2019-08-10day15作業(yè)

1.建立一個汽車類Auto暖哨,包括輪胎個數(shù)翎迁,汽車顏色蒲每,車身重量研侣,速度等屬性,并通過不同的構造方法創(chuàng)建實例锅睛。至少要求
汽車能夠加速
減速
停車埠巨。
再定義一個小汽車類CarAuto
繼承Auto
并添加空調历谍、CD屬性现拒,并且重新實現(xiàn)方法覆蓋加速、減速的方法

class Auto:
    def __init__(self, tire, color, weight, speed):
        if tire % 2 == 0 and tire >= 4:
            self.tire = tire
        else:
            raise ValueError
        self.color = color
        self.weight = weight
        self.speed = speed

    def speed_up(self, add_speed):
        self.speed += add_speed
        return '加速后速度為:%f' % self.speed

    def speed_down(self, down_speed):
        self.speed -= down_speed
        return '減速后速度為:%f' % self.speed

    def __repr__(self):
        return self.__dict__


class CarAuto(Auto):
    def __init__(self, tire, color, weight, speed, air_conditioner='off', cd_player='off'):
        super().__init__(tire, color, weight, speed)
        self.air_conditioner = air_conditioner
        self.cd_player = cd_player


c1 = Auto(4, 'black', '1噸', 60)
print(c1.__repr__())

c1.speed_up(40)
print(c1.__repr__())

c1.speed_down(20)
print(c1.__repr__())

c2 = CarAuto(8, 'red', '5噸', 70)
print(c2.__repr__())

2.創(chuàng)建一個Person類望侈,添加一個類字段用來統(tǒng)計Person類的對象的個數(shù)

class Person:
    count = 0

    def __init__(self, name, age, gender):
        self._name = name
        self.age = age
        self.gender = gender
        Person.count += 1


    @classmethod
    def count1(cls):
        return Person.count


p1 = Person('王力', 23, 1)
p2 = Person('王力', 23, 1)
p3 = Person('王力', 23, 1)
p4 = Person('王力', 23, 1)
p5 = Person('王力', 23, 1)

print(Person.count1())

3.創(chuàng)建一個動物類印蔬,擁有屬性:性別、年齡脱衙、顏色侥猬、類型 例驹,
要求打印這個類的對象的時候以'/XXX的對象: 性別-? 年齡-? 顏色-? 類型-?/'的形式來打印

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

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


a1 = Animal('狗', 2, 13, 'red')
a1.information()

4.寫一個圓類, 擁有屬性半徑退唠、面積和周長鹃锈;要求獲取面積和周長的時候的時候可以根據半徑的值把對應的值取到。
但是給面積和周長賦值的時候瞧预,程序直接崩潰屎债,并且提示改屬性不能賦值

from math import pi


class PropertyError(Exception):
    def __str__(self):
        return '屬性不能賦值'


class Circle:
    def __init__(self, r):
        self.r = r
        self._area = pi * r ** 2
        self._perimeter = 2 * pi * r

    @property
    def area(self):
        return self._area

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

    @property
    def perimeter(self):
        return self._area

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


c1 = Circle(5)
print(c1.perimeter, c1.area)

c1.r = 6
print(c1.perimeter, c1.area)

c1.perimeter = 45

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

import random


class Pokers:

    def __init__(self):
        self.pokers = []
        for point in range(1, 11):
            for color_shape in ('?', '?', '?', '?'):
                self.pokers.append([point, color_shape])
        for point in ('J', 'Q', 'K'):
            for color_shape in ('?', '?', '?', '?'):
                self.pokers.append([point, color_shape])
        self.pokers.append('KING')
        self.pokers.append('king')
        # print(self.pokers)
    
    # 洗牌方法:
    def shuffle(self):
        random.shuffle(self.pokers)
        return self.pokers

    # 斗地主發(fā)牌方法:
    def dealer(self, nums1=20, nums2=17, nums3=17):
        Pokers.shuffle(self)
        if 0 < nums1 + nums2 + nums3 < 55:
            iter1 = iter(self.pokers)
            print('======================斗地主==========================')
            for i in range(0, 20):
                print(next(iter1))
            print('======================農民1==========================')
            for i in range(20, 37):
                print(next(iter1))
            print('======================農民2==========================')
            for i in range(37, 54):
                print(next(iter1))
        else:
            raise ValueError


p2 = Pokers()
print(p2.pokers)
p2.shuffle()
print(p2.pokers)
p2.dealer()
p2.dealer()

6.(嘗試)寫一個類垢油,其功能是:
1.解析指定的歌詞文件的內容
2.按時間顯示歌詞
提示:歌詞文件的內容一般是按下面的格式進行存儲的盆驹。歌詞前面對應的是時間,在對應的時間點可以顯示對應的歌詞

[00: 00.20]藍蓮花
[00: 00.80]沒有什么能夠阻擋
[00: 06.53]你對自由地向往
[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]當你低頭地瞬間
[02: 26.79][02: 05.72][00: 37.16]才發(fā)覺腳下的路
[02: 32.17][00: 42.69]心中那自由地世界
[02: 37.20][00: 47.58]如此的清澈高遠
[02: 42.32][00: 52.72]盛開著永不凋零
[02: 47.83][00: 57.47]藍蓮花
class Lyric:
    def __init__(self, time, word):
        value = float(time[1:3])*60 + float(time[4:])
        self.time = value
        self.word = word

    def __repr__(self):
        return '<'+str(self.time) + ':' + self.word+'>'

    def __gt__(self, other):
        return self.time > other.time


class LyricAnalysis:

    def __init__(self, name):
        # 歌名
        self.name = name
        self.__all_lyrics = []

    def get_word(self, time):
        # =======解析歌詞文件======
        if not self.__all_lyrics:
            print('解析歌詞')
            with open('files/'+self.name) as f:
                while True:
                    line = f.readline()
                    if not line:
                        break
                    lines = line.split(']')
                    word = lines[-1]
                    for t in lines[:-1]:
                        lyric = Lyric(t, word)
                        self.__all_lyrics.append(lyric)

            # 排序
            self.__all_lyrics.sort(reverse=True)

        # ==========獲取歌詞==========
        for lyric in self.__all_lyrics:
            if lyric.time <= time:
                return lyric.word


ly = LyricAnalysis('藍蓮花')
print('===:',ly.get_word(123))
print('===:',ly.get_word(10))
print('===:',ly.get_word(89))

ly2 = LyricAnalysis('一首簡單的歌')
print('!!!:', ly2.get_word(30))
print('!!!:', ly2.get_word(90))
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末滩愁,一起剝皮案震驚了整個濱河市躯喇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌硝枉,老刑警劉巖廉丽,帶你破解...
    沈念sama閱讀 222,464評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異妻味,居然都是意外死亡雅倒,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評論 3 399
  • 文/潘曉璐 我一進店門弧可,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蔑匣,“玉大人,你說我怎么就攤上這事棕诵〔昧迹” “怎么了?”我有些...
    開封第一講書人閱讀 169,078評論 0 362
  • 文/不壞的土叔 我叫張陵校套,是天一觀的道長价脾。 經常有香客問我,道長笛匙,這世上最難降的妖魔是什么侨把? 我笑而不...
    開封第一講書人閱讀 59,979評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮妹孙,結果婚禮上秋柄,老公的妹妹穿的比我還像新娘。我一直安慰自己蠢正,他們只是感情好骇笔,可當我...
    茶點故事閱讀 69,001評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般笨触。 火紅的嫁衣襯著肌膚如雪懦傍。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,584評論 1 312
  • 那天芦劣,我揣著相機與錄音粗俱,去河邊找鬼。 笑死虚吟,一個胖子當著我的面吹牛源梭,可吹牛的內容都是我干的。 我是一名探鬼主播稍味,決...
    沈念sama閱讀 41,085評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼废麻,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了模庐?” 一聲冷哼從身側響起烛愧,我...
    開封第一講書人閱讀 40,023評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎掂碱,沒想到半個月后怜姿,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 46,555評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡疼燥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,626評論 3 342
  • 正文 我和宋清朗相戀三年沧卢,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片醉者。...
    茶點故事閱讀 40,769評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡但狭,死狀恐怖,靈堂內的尸體忽然破棺而出撬即,到底是詐尸還是另有隱情立磁,我是刑警寧澤,帶...
    沈念sama閱讀 36,439評論 5 351
  • 正文 年R本政府宣布剥槐,位于F島的核電站唱歧,受9級特大地震影響,放射性物質發(fā)生泄漏粒竖。R本人自食惡果不足惜颅崩,卻給世界環(huán)境...
    茶點故事閱讀 42,115評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蕊苗。 院中可真熱鬧沿后,春花似錦、人聲如沸岁歉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锅移。三九已至熔掺,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間非剃,已是汗流浹背置逻。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留备绽,地道東北人券坞。 一個月前我還...
    沈念sama閱讀 49,191評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像肺素,于是被迫代替她去往敵國和親恨锚。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,781評論 2 361

推薦閱讀更多精彩內容

  • 建立一個汽車類Auto倍靡,包括輪胎個數(shù)猴伶,汽車顏色,車身重量塌西,速度等屬性他挎,并通過不同的構造方法創(chuàng)建實例。至少要求 汽車...
    llllllIllllll閱讀 336評論 0 0
  • 建立一個汽車類Auto捡需,包括輪胎個數(shù)办桨,汽車顏色,車身重量站辉,速度等屬性呢撞,并通過不同的構造方法創(chuàng)建實例。至少要求 汽車...
    馮書簡閱讀 222評論 0 0
  • 建立一個汽車類Auto饰剥,包括輪胎個數(shù)狸相,汽車顏色,車身重量捐川,速度等屬性脓鹃,并通過不同的構造方法創(chuàng)建實例。至少要求 汽車...
    浩子_唯一號閱讀 138評論 0 1
  • 建立一個汽車類Auto古沥,包括輪胎個數(shù)瘸右,汽車顏色,車身重量岩齿,速度等屬性太颤,并通過不同的構造方法創(chuàng)建實例。至少要求 汽車...
    數(shù)番番閱讀 141評論 0 0
  • day15-作業(yè) 1. 建立一個汽車類Auto盹沈,包括輪胎個數(shù)龄章,汽車顏色吃谣,車身重量,速度等屬性做裙,并通過不同的構造方法...
    Octane閱讀 136評論 0 1