Day16 作業(yè)

  1. 定義一個學生類。有屬性:姓名、年齡、成績(語文,數(shù)學,英語)[每課成績的類型為整數(shù)] 方法:
    a. 獲取學生的姓名:getname()
    b. 獲取學生的年齡: getage()
    c. 返回3門科目中最高的分數(shù):get_course()
class Student:

    def __init__(self, name, age):
        self.name = name
        self.age = age
        self._score = []

    @property
    def score(self):
        for _ in self._score:
            return '語文:%d  數(shù)學:%d  英語:%d' % (self._score[0], self._score[1],self._score[2])

    @score.setter
    def score(self, value: list):
        for grade in value:
            if not isinstance(grade, int):
                print('成績只能是整數(shù)')
                break
        else:
            self._score = value

    def get_name(self):
        return self.name

    def get_age(self):
        return self.age

    def get_course(self):
        return max(self._score)

?

# 1.創(chuàng)建學生類
stu1 = Student('郭銳', 23)
stu1.score = [89, 92, 98]

print(stu1.name)
print(stu1.get_age())
print(stu1.score)
print(stu1.get_course())
  1. 2.建立一個汽車類Auto,包括輪胎個數(shù),汽車顏色,車身重量,速度等成員變量,并通過不同的構(gòu)造方法創(chuàng)建實例。至少要求:汽車能夠加速,減速,停車。再定義一個小汽車類CarAuto 繼承Auto 并添加空調(diào)、CD等成員變量覆蓋加速減速的方法。

    class Auto:
        tire_num = 4
    
        def __init__(self, color='white', weight='56kg', speed=0):
            self.color = color
            self.weight = weight
            self.speed = speed
    
        def __repr__(self):
            return str(self.__dict__)[1:-1]
    
        def introduce(self):
            print('這輛車的顏色是%s, 重量為%s' % (self.color, self.weight))
    
        def speed_up(self):
            self.speed += 80
            print('我加速了,當前速度是%.2f' % self.speed)
    
        def speed_cut(self):
            self.speed += 20
            print('我減速了,速度為%.2f' % self.speed)
    
        @classmethod
        def about_tire(cls):
            print('這個類的車都有%d個輪子' % cls.tire_num)
    
        @staticmethod
        def about_auto():
            print('我們都是車,都是車,不準反駁')
    
        @staticmethod
        def park():
            print('現(xiàn)在停車了')
    
    
    class Car(Auto):
        def __init__(self, ari_conditioner=4,about_cd='鳳凰傳奇',color='white', weight='56kg', speed=0):
            super().__init__()
            self.color = color
            self.weight = weight
            self.speed = speed
            self.conditioner = ari_conditioner
            self.CD = about_cd
    
        def speed_up(self):
            print('覆蓋加速')
    
        def speed_cut(self):
            print('覆蓋減速')
            
        # 2.創(chuàng)建Auto類以及子類Car
        auto1 = Auto()
        print(auto1)
        auto1.introduce()
        auto1.speed_cut()
        auto1.speed_up()
        auto1.park()
    
        car1 = Car()
        print(car1)
        car1.speed_up()
        car1.speed_cut()
    

? 3. 創(chuàng)建一個名為User的類,其中包含屬性?rstname 和 lastname ,還有用戶簡介通常會存儲的其他幾個屬 性。在類User 中定義一個名為describeuser() 的方法,它打印用戶信息摘要 ; 再定義一個名為 greetuser() 的 方法,它向用戶發(fā)出個性化的問候。

? 管理員是一種特殊的用戶。編寫一個名為Admin 的類,讓它繼承User類。添加一個名為privileges 的屬性,用于存儲一個由字符串(如"can add post"、"can delete post"、"can ban user"等)組成的列表。編寫一個名為 show_privileges()的方法,它顯示管理員的權(quán)限。創(chuàng)建一個Admin 實例,并調(diào)用這方法。

?

class User:

    def __init__(self, first_name, last_name, tel, e_mail='1903910939@qq.com'):
        self.first_name = first_name
        self.last_name = last_name
        self.tel = tel
        self.e_mail = e_mail

    def describe_user(self):
        return str(self.__dict__)[1:-1]

    def greet_user(self):
        print('你好%s %s' % (self.first_name, self.last_name))


class Admin(User):

    def __init__(self, first_name, last_name, tel, e_mail='1903910939@qq.com',
                 privileges=['can add post', 'can delete post', 'can ban user']):
        super().__init__(first_name, last_name, tel)
        self.privileges = privileges

    def show_privileges(self):
        print('權(quán)限:')
        for item in self.privileges:
            print(item, end=' ')
            
 # 3.創(chuàng)建User類,admin繼承User

    user1 = User('ChiAo', '1fei', '110')
    print(user1.describe_user())
    user1.greet_user()

    admin1 = Admin('ChiAo', '1fei', '110')
    admin1.show_privileges()
  1. 創(chuàng)建一個Person類,添加一個類字段用來統(tǒng)計Perosn類的對象的個數(shù)。

    class Person:
    
        count1 = 0
    
        def __init__(self, name='小花', age=18):
            Person.count1 += 1
            self.name = name
            self.age = age
    
        @classmethod
        def count(cls):
            return cls.count1
            
    # 4.Person對象的個數(shù)
        p1 = Person()
        p2 = Person()
        print()
        print(Person.count())
    
?著作權(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)容

  • 8月22日-----字符串相關(guān) 2-3 個性化消息: 將用戶的姓名存到一個變量中,并向該用戶顯示一條消息。顯示的消...
    future_d180閱讀 1,030評論 0 1
  • 1.定義一個學生類。有屬性:姓名、年齡、成績(語文,數(shù)學,英語)[每課成績的類型為整數(shù)] 方法: a. 獲取學生的...
    圣咸魚閱讀 378評論 0 0
  • 定義一個學生類。有屬性:姓名、年齡、成績(語文,數(shù)學,英語)[每課成績的類型為整數(shù)]方法:a. 獲取學生的姓名:g...
    饅頭不要面閱讀 337評論 0 0
  • 0.定義一個學生類。有屬性:姓名、年齡、成績(語文,數(shù)學,英語) 2.創(chuàng)建一個名為User 的類,其中包含屬性fi...
    憨猜猜閱讀 215評論 0 0
  • 請允許我寫下這篇關(guān)于我的悼詞。 并終生不再受人驅(qū)逐。 殘肢斷臂應(yīng)能架起參天的枯樹, 不見黃昏。 這誕生的地方泛著潮...
    段思楠閱讀 342評論 0 0

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