作業 day16

""" __author__ == YSK """

"""
1.建立一個汽車類Auto,包括輪胎個數,汽車顏色,車身重量,速度等屬性,
并通過不同的構造方法創建實例。至少要求 汽車能夠加速 減速 停車。
再定義一個小汽車類CarAuto 繼承Auto 并添加空調、CD屬性,并且重新實現方法覆蓋加速、減速的方法
 """


class Auto:
    def __init__(self):
        self.wheel = '四輪'
        self.color = '黑色'
        self.weight = '1.6噸'
        self.speed = '200碼'

    def add_speed(self):
        print('車類加速')

    @classmethod
    def dece(cls):
        print('車類減速')

    @staticmethod
    def stop():
        print('車類停車')


class CarAuto(Auto):
    def __init__(self, air_Con, CD):
        super().__init__()
        self.air_Con = air_Con
        self.CD = CD

    def add_speed(self):
        print('小車加速')

    @classmethod
    def dece(cls):
        print('小車減速')


car1 = CarAuto('空調', '索尼')
car1.add_speed()
car1.dece()
print(car1.color)
print(car1.wheel)
print(car1.air_Con)
print(car1.CD)

print('======================================')
"""
2.創建一個Person類,添加一個類字段用來統計Person類的對象的個數
"""


class Person:
    num = 0

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


p1 = Person()
p2 = Person()
print(Person.num)
print('======================================')

"""
3.創建一個動物類,擁有屬性:性別、年齡、顏色、類型 ,
要求打印這個類的對象的時候
以'/XXX的對象: 性別-? 年齡-? 顏色-? 類型-?/' 的形式來打印
"""


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

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


cat1 = Animal('母', '3', '白', '美短')
print(cat1.__repr__())

print('======================================')
"""
4.寫一個圓類, 擁有屬性半徑、面積和周長;
要求獲取面積和周長的時候的時候可以根據半徑的值把對應的值取到。
但是給面積和周長賦值的時候,程序直接崩潰,并且提示改屬性不能賦值
"""


class Circle:
    pi = 3.14

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

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

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

    @area.setter
    def area(self, value):
        if value == Circle.pi * self.r ** 2:
            self._area = value
        else:
            raise ValueError

    @perimeter.setter
    def perimeter(self, value):
        if value == Circle.pi * self.r * 2:
            self._perimeter = value
        else:
            raise ValueError


c1 = Circle(5)
print(c1.area)
print(c1.perimeter)
# c1.area=100
# c1.perimeter=100
print('======================================')

"""
5.寫一個撲克類, 要求擁有發牌和洗牌的功能
    (具體的屬性和其他功能自己根據實際情況發揮)
"""
class Poker:
    def __init__(self):
        pass

    def send(self):
        pass

    def wash(self):
        pass
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 第一題:寫一個客戶端和服務器的套接字:客戶端連接服務器后展示界面: =======================...
    龍神海王閱讀 170評論 0 0
  • Day16今天作業: 1、生活中你有多少次合理運用了行為后果讓孩子有所學習有所收獲呢? 認真回憶和反思了女兒成...
    小溪水0403閱讀 103評論 0 0
  • 0.定義一個學生類。有屬性:姓名、年齡、成績(語文,數學,英語)[每課成績的類型為整數] 方法: a. 獲取學生的...
    RiskHY閱讀 567評論 0 1
  • 排便訓練 女兒從出生到現在一直是穿紙尿褲,現在馬上兩歲了,面臨著訓練她如廁的習慣,尤其是現在天氣還比較熱,等天氣冷...
    慧妍日記閱讀 276評論 1 1
  • 佰盛的閱讀 151評論 0 0