HW8-09

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

class Auto:
  def __init__(self, wheel, color, weight, speed=0):
  self.wheel = wheel
  self.color = color
  self.weight = weight
  self.speed = speed
  self._max_speed = 200      def up_speed(self, value):
  panel_speed = self.speed + value
  if panel_speed > self._max_speed:
  self._max_speed = panel_speed
            return '超速行駛當前車速%s' % self._max_speed
        else:
  return '加速行駛車速%s' % panel_speed

    def slow_down(self, value):
  if self.speed > value:
  return '減速行駛',self.speed - value
  else:
  return 0    def stop(self):
  if self.speed == 0:
  return '停車'     a1 = Auto(4, 'balck', 5)
print(a1.up_speed(50))
a1.speed = 90 print(a1.slow_down(50))

class CarAuto(Auto):
  def __init__(self, air_condition=False, cd_rom=False, color='black', speed=0):
  super(CarAuto, self).__init__(color, speed, weight='5tons')
        self.air_condition = air_condition
  self.cd_rom = cd_rom    def up_speed(self, value):
  super(CarAuto, self).up_speed(value)

a2 = CarAuto(True, True)
print(a2.up_speed(200))

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

class Person:
    count = 0
    def __init__(self, name, age, gender):
        self.name = name
        self.gender = gender
        if 0 < age <= 105:
            self.age = age
        else:
            raise ValueError
        # if 0 <= gender <= 1:
        #     self.gender = gender
        #
        # else:
        #     raise ValueError
        self.statistics()


    @classmethod
    def statistics(cls):
        cls.count += 1


p1 = Person('MING', 22, '男')
print(Person.count)
p2 = Person('LI-NING', 56, '男')
print(Person.count)

3. 創(chuàng)建一個動物類,擁有屬性:性別、年齡、顏色、類型 。

要求打印這個類的對象的時候以'/XXX的對象: 性別-? 年齡-? 顏色-? 類型-?/' 的形式來打印

class Animal:
    def __init__(self, gender, age, color, species):
        self._age = age
        self.color = color
        self.species = species
        if not gender or gender == 1:
            self._gender = gender
        else:
            raise ValueError




    @property
    def gender(self):
        if not self._gender:
            return 'Male'
        if self._gender == 1:
            return 'Female'

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


    def __repr__(self):
        return '/{}的對象:性別-{}, 年齡-{}, 顏色-{}, 種類{}/'.format(self.__class__.__name__, self.gender, self._age, self.color, self.species)



a1 = Animal(1, 5, 'black', '曼康基')
print(a1)

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

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

    @property
    def area(self):
        self._area = Circle.Pi * self.radius **2
        return self._area

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

    @property
    def perimeter(self):
        self._perimeter = 2 * Circle.Pi * self.radius
        return self._perimeter

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



    def __repr__(self):
        return '/radius:{}, area:{}, perimeter:{}/'.format(self.radius, self.area, self.perimeter)


c1 = Circle(10)
print(c1)

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

KL;‘/.

class Poker:
    def __init__(self, color, ajqk):
        self.color = color
        self.ajqk = ajqk

class Pokers:
    color_list = ['?', '?', '?', '?']
    ajqk_list = ['A','2','3','4','5','6','7','8','9','10','J','Q','K']

    def __init__(self):
        self.poker_list = []
        self.framer1 = []
        self.framer2 = []
        self.landowner = []
        self.ace_of_Base = []

        for color in Pokers.color_list:
            for ajqk in Pokers.ajqk_list:
                self.poker_list.append(Poker(color, ajqk))
                self.poker_list.append(Poker('Red', 'Joker'))
                self.poker_list.append(Poker('Black', 'Joker'))


    def poker_shuffle(self):
        random.shuffle(self.poker_list)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 建立一個汽車類Auto,包括輪胎個數(shù),汽車顏色,車身重量,速度等屬性,并通過不同的構(gòu)造方法創(chuàng)建實例。至少要求 汽車...
    llllllIllllll閱讀 364評論 0 0
  • 8月22日-----字符串相關(guān) 2-3 個性化消息: 將用戶的姓名存到一個變量中,并向該用戶顯示一條消息。顯示的消...
    future_d180閱讀 1,033評論 0 1
  • 初識面向?qū)ο?楔子 你現(xiàn)在是一家游戲公司的開發(fā)人員,現(xiàn)在需要你開發(fā)一款叫做<人狗大戰(zhàn)>的游戲,你就思考呀,人狗作戰(zhàn)...
    go以恒閱讀 995評論 0 6
  • day15-作業(yè) 1. 建立一個汽車類Auto,包括輪胎個數(shù),汽車顏色,車身重量,速度等屬性,并通過不同的構(gòu)造方法...
    Octane閱讀 187評論 0 1
  • 建立一個汽車類Auto,包括輪胎個數(shù),汽車顏色,車身重量,速度等屬性,并通過不同的構(gòu)造方法創(chuàng)建實例。至少要求 汽車...
    ______n___閱讀 175評論 0 0

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