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

  1. 建立一個汽車類Auto焰盗,包括輪胎個數(shù)觉至,汽車顏色剔应,車身重量,速度等屬性语御,并通過不同的構(gòu)造方法創(chuàng)建實例峻贮。至少要求 汽車能夠加速 減速 停車。 再定義一個小汽車類CarAuto 繼承Auto 并添加空調(diào)应闯、CD屬性纤控,并且重新實現(xiàn)方法覆蓋加速、減速的方法
class Auto:
    def __init__(self, tire, color, weight, price, speed=0):
        self.tire = tire
        self.color = color
        self.weight = weight
        self.speed = speed
        self.price = price

    def up_speed(self, speed_num: int):
        self.speed += speed_num
        return self.speed

    def down_speed(self, speed_num: int):
        self.speed -= speed_num
        return self.speed


car1 = Auto(4, '黑色', 1, 100, 20)
car2 = Auto(4, '白色', 2, 50)


class CarAuto(Auto):
    def __init__(self, air_conditon, music_cd):
        super.__init__()
        self.air_condition = air_conditon
        self.music_cd = music_cd

    def up_speed(self, speed_num: int):
        self.speed += speed_num*2
        return self.speed
        
    def down_speed(self, speed_num: int):
        self.speed -= speed_num*2
        return self.speed
        
  1. 創(chuàng)建一個Person類碉纺,添加一個類字段用來統(tǒng)計Perosn類的對象的個數(shù)
class Person:
    count = 0

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


p1 = Person()
p2 = Person()
p3 = Person()
print(Person.count)  #  3
  1. 創(chuàng)建一個動物類船万,擁有屬性:性別、年齡骨田、顏色耿导、類型 ,
    要求打印這個類的對象的時候以'/XXX的對象: 性別-? 年齡-? 顏色-? 類型-?/' 的形式來打印
class Animal:
    def __init__(self, gender, age, color, a_type):
        self.gender = gender
        self.age = age
        self.color = color
        self.a_type = a_type

    def __repr__(self):
        return '/{}的對象:性別-{} 年齡-{} 顏色-{} 類型-{}/'. \
            format('Animal', self.gender, self.age, self.color, self.a_type)


ani = Animal('公', 12, '黑色', '狗')
print(ani)  #/Animal的對象:性別-公 年齡-12 顏色-黑色 類型-狗/

  1. 寫一個圓類态贤, 擁有屬性半徑舱呻、面積和周長;要求獲取面積和周長的時候的時候可以根據(jù)半徑的值把對應(yīng)的值取到悠汽。但是給面積和周長賦值的時候箱吕,程序直接崩潰芥驳,并且提示改屬性不能賦值
class WriteError(Exception):
    def __str__(self):
        return '該屬性不賦值'


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

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

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

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

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

    def get_area(self, input_radius=0):
        if input_radius:
            radius = input_radius
        else:
            radius = self.radius
        return pi * radius ** 2

    def get_perimeter(self, input_radius=0):
        if input_radius:
            radius = input_radius
        else:
            radius = self.radius
        return 2 * pi * radius
c1 = Circle(50)
print(c1.area)
print(c1.get_area())
print(c1.get_area(60))
# c1.area = 300  # __main__.WriteError: 該屬性不賦值
print(c1.perimeter)
print(c1.get_perimeter())
print(c1.get_perimeter(20))
# c1.perimeter = 10  # __main__.WriteError: 該屬性不賦值
  1. 寫一個撲克類, 要求擁有發(fā)牌和洗牌的功能(具體的屬性和其他功能自己根據(jù)實際情況發(fā)揮)
class PokerCard:
    poker_cards = ('2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A')
    poker_colors = ('?', '?', '?', '?', 'JOKER')

    def __init__(self, player_name=3):
        self.player_name = player_name
        self.poker_cards = 13

    @staticmethod
    def create_cards():
        """
        :return:返回打亂順序的54張牌
        """
        numbers = [poker_size for poker_size in range(54)]
        random.shuffle(numbers)
        return numbers

    @staticmethod
    def init_cards(list_cards: list):
        init_card = [(PokerCard.poker_cards[number % 13], PokerCard.poker_colors[number // 13])
                     for number in list_cards]
        return init_card

    def create_player_cards(self, numbers):
        print(numbers, len(numbers))
        # size = numbers%13
        # color = numbers//13
        player1 = self.init_cards(numbers[0:17])
        player2 = self.init_cards(numbers[17:34])
        player3 = self.init_cards(numbers[34:51])
        landlord_cards = self.init_cards(numbers[51:54])
        print('player1:', player1, len(player1))
        print('player2:', player2, len(player2))
        print('player3:', player3, len(player3))
        print(landlord_cards)

    def start_game(self):
        numbers = self.create_cards()
        self.create_player_cards(numbers)

    def shuffle_card(self):
        numbers = self.create_cards()
        random.shuffle(numbers)
        self.create_player_cards(numbers)


p1 = PokerCard()
p1.start_game()
p1.shuffle_card()
  1. (嘗試)寫一個類茬高,其功能是:1.解析指定的歌詞文件的內(nèi)容 2.按時間顯示歌詞 提示:歌詞文件的內(nèi)容一般是按下面的格式進行存儲的晚树。歌詞前面對應(yīng)的是時間,在對應(yīng)的時間點可以顯示對應(yīng)的歌詞
[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]當(dāng)你低頭地瞬間  
[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]藍蓮花  
import bisect
# lyric
# analysis
class AnalysisLyric:
    lrc_dict = {}

    def __init__(self, file_name, file_path):
        self.file_name = file_name
        self.file_path = file_path

    def analysis_lyric_file(self):
        with open(self.file_path + self.file_name, 'r', encoding='utf-8') as f:
            lyric_str = f.readlines()
            return lyric_str

    def analysis_lyric(self):
        lyric_str = self.analysis_lyric_file()

        # 遍歷所有元素,干掉方括號
        for i in lyric_str:
            # 取出方括號并切割歌詞字符串
            lrc_word = i.replace("[", "]").strip().split("]")
            for j in range(len(lrc_word) - 1):
                if lrc_word[j]:
                    # print(lrc_word[j], end=",")
                    AnalysisLyric.lrc_dict[lrc_word[j]] = lrc_word[-1]
        # 遍歷字典,對字典的key進行排序,
        for key in sorted(AnalysisLyric.lrc_dict.keys()):
            print(key, AnalysisLyric.lrc_dict[key])

    @classmethod
    def output_timeLrc(cls, time_str='00:00.00'):
        lrc_dict_key = sorted(cls.lrc_dict.keys())
        position = bisect.bisect_left(lrc_dict_key, time_str)
        print(cls.lrc_dict[lrc_dict_key[position]])


analrc_1 = AnalysisLyric('1.lrc', './')
analrc_1.analysis_lyric()
AnalysisLyric.output_timeLrc('00:20.00')

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末雅采,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子慨亲,更是在濱河造成了極大的恐慌婚瓜,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件刑棵,死亡現(xiàn)場離奇詭異巴刻,居然都是意外死亡,警方通過查閱死者的電腦和手機蛉签,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門胡陪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人碍舍,你說我怎么就攤上這事柠座。” “怎么了片橡?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵妈经,是天一觀的道長。 經(jīng)常有香客問我捧书,道長吹泡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任经瓷,我火速辦了婚禮爆哑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘舆吮。我一直安慰自己揭朝,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布色冀。 她就那樣靜靜地躺著萝勤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪呐伞。 梳的紋絲不亂的頭發(fā)上敌卓,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天,我揣著相機與錄音伶氢,去河邊找鬼趟径。 笑死瘪吏,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蜗巧。 我是一名探鬼主播掌眠,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼幕屹!你這毒婦竟也來了蓝丙?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤望拖,失蹤者是張志新(化名)和其女友劉穎渺尘,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體说敏,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡鸥跟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了盔沫。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片医咨。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖架诞,靈堂內(nèi)的尸體忽然破棺而出拟淮,到底是詐尸還是另有隱情,我是刑警寧澤谴忧,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布惩歉,位于F島的核電站,受9級特大地震影響俏蛮,放射性物質(zhì)發(fā)生泄漏撑蚌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一搏屑、第九天 我趴在偏房一處隱蔽的房頂上張望争涌。 院中可真熱鬧,春花似錦辣恋、人聲如沸亮垫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽饮潦。三九已至,卻和暖如春携狭,著一層夾襖步出監(jiān)牢的瞬間继蜡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留稀并,地道東北人仅颇。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像碘举,于是被迫代替她去往敵國和親忘瓦。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 1. 建立一個汽車類Auto引颈,包括輪胎個數(shù)耕皮,汽車顏色,車身重量蝙场,速度等屬性凌停,并通過不同的構(gòu)造方法創(chuàng)建實例。至少要求...
    Lis_reak閱讀 187評論 0 0
  • day15-作業(yè) 1. 建立一個汽車類Auto李丰,包括輪胎個數(shù),汽車顏色逼泣,車身重量趴泌,速度等屬性,并通過不同的構(gòu)造方法...
    Octane閱讀 134評論 0 1
  • 1. 建立一個汽車類Auto拉庶,包括輪胎個數(shù)嗜憔,汽車顏色,車身重量氏仗,速度等屬性吉捶,并通過不同的構(gòu)造方法 創(chuàng)建實例。至少要...
    小逗比的奮斗史閱讀 258評論 0 0
  • 再堅強一點皆尔,以后你會發(fā)現(xiàn)讓你哭的事會有一天你會笑著說出來呐舔。 請不斷自我完善,確定好了目標(biāo)就請勇往直前慷蠕,斷了自己的后...
    夏不天閱讀 209評論 0 0
  • 嘀嗒 嘀嗒 嘀嗒 燭淚灼傷了血液 西風(fēng) 冷泉 天燈 靜靜的等待枯竭 你輕輕的走 饑渴的看著日落 暮色里的雙眸如星辰...
    成炩閱讀 307評論 0 2