day15作業(yè)

from math import pi

"""
1.建立一個(gè)汽車類Auto,包括輪胎個(gè)數(shù),汽車顏色,車身重量,速度等屬性,
并通過(guò)不同的構(gòu)造方法創(chuàng)建實(shí)例。至少要求 汽車能夠加速 減速 停車。

再定義一個(gè)小汽車類CarAuto 繼承Auto 并添加空調(diào)、CD屬性,
并且重新實(shí)現(xiàn)方法覆蓋加速、減速的方法
"""

class Auto:
    def __init__(self, color='白色', weight=50, speed=0):
        # color='紅色', weight=100, speed=10
        self.tyre_count = 4
        self.color = color
        self.weight = weight
        self.speed = speed
        self.__max_speed = 300

    def speed_up(self, value):
        """加速"""
        new_speed = self.speed + value
        if new_speed > self.__max_speed:
            self.speed = self.__max_speed
        else:
            self.speed = new_speed

    def speed_down(self, value):
        """減速"""
        new_speed = self.speed - value
        if new_speed < 0:
            self.speed = 0
        else:
            self.speed = new_speed

    def stop(self):
        """停車"""
        self.speed = 0


class CarAuto(Auto):
    def __init__(self, color='', weight=100, speed=10):
        # color='紅色', weight=100, speed=10
        super().__init__(color, weight, speed)  # super().__init__('紅色', 100, 10)

        self.CD = ''
        self.air_conditioner = '格力'


c1 = CarAuto('紅色')
print(c1.__dict__)

"""
3.創(chuàng)建一個(gè)動(dòng)物類,擁有屬性:性別、年齡、顏色、類型 ,
要求打印這個(gè)類的對(duì)象的時(shí)候以'/XXX的對(duì)象: 性別-? 年齡-? 顏色-? 類型-?/' 的形式來(lái)打印
"""
print('===================第三題===================')

class Animal:
def init(self, gender='公', age=1, color='黑色', type='爬行'):
self.gender = gender
self.age = age
self.color = color
self.type = type

def __repr__(self):
    return '/%s的對(duì)象: 性別-%s 年齡-%d 顏色-%s 類型-%s/' % \
           (self.__class__.__name__, self.gender, self.age, self.color, self.type)

class Dog(Animal):
pass

an1 = Animal()
print(an1)

dog1 = Dog()
print(dog1)

"""
4.寫(xiě)一個(gè)圓類, 擁有屬性半徑、面積和周長(zhǎng);要求獲取面積和周長(zhǎng)的時(shí)候的時(shí)候可以根據(jù)半徑的值把對(duì)應(yīng)的值取到。
但是給面積和周長(zhǎng)賦值的時(shí)候,程序直接崩潰,并且提示改屬性不能賦值
"""
print('===================第三題===================')

class ReadOnlyError(Exception):
def str(self):
return 'Modify the read-only property'

class Circle:
def init(self, r):
self.r = r
self._perimeter = 0
self._area = 0

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

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

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

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

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

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

最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 8月22日-----字符串相關(guān) 2-3 個(gè)性化消息: 將用戶的姓名存到一個(gè)變量中,并向該用戶顯示一條消息。顯示的消...
    future_d180閱讀 1,033評(píng)論 0 1
  • 1.聲明一個(gè)電腦類:屬性:品牌,顏色,內(nèi)存大小 方法:打游戲,寫(xiě)代碼,看視頻a.創(chuàng)建電腦類的對(duì)象,然后通過(guò)對(duì)象點(diǎn)的...
    ChiAo1fei閱讀 256評(píng)論 0 0
  • 0.定義一個(gè)學(xué)生類。有屬性:姓名、年齡、成績(jī)(語(yǔ)文,數(shù)學(xué),英語(yǔ))[每課成績(jī)的類型為整數(shù)]方法:a. 獲取學(xué)生的姓名...
    C0mpass閱讀 335評(píng)論 0 0
  • 初識(shí)面向?qū)ο?楔子 你現(xiàn)在是一家游戲公司的開(kāi)發(fā)人員,現(xiàn)在需要你開(kāi)發(fā)一款叫做<人狗大戰(zhàn)>的游戲,你就思考呀,人狗作戰(zhàn)...
    go以恒閱讀 999評(píng)論 0 6
  • 今天閱讀了《狼王夢(mèng)》,這是一個(gè)關(guān)于狼、關(guān)于愛(ài)、關(guān)于生命、關(guān)于夢(mèng)想的故事。母狼紫嵐為了使自己的孩子成為狼王,不懈前進(jìn)...
    happylinzi閱讀 67評(píng)論 0 0

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