python小测验-附实现

2018-08-02  本文已影响0人  KingJX

"""
1.定义一个学生类。有属性:姓名、年龄、成绩(语文,数学,英语)[每课成绩的类型为整数]
方法: a. 获取学生的姓名:getname() b.  获取学生的年龄: getage()
c. 返回3门科目中最高的分数。get_course()
"""


class Score:
    def __init__(self, chinese=0, math=0, english=0):
        self.chinese = chinese
        self.math = math
        self.english = english

class Student:
    def __init__(self, name='', age=0, score = {}):
        self.name = name
        self.age = age
        self.score = score

    def get_name(self):
        return self.name

    def get_age(self):
        return self.age

    def get_course(self, score):
        max_sco = score['chinese']
        for course in score:
            if max_sco < score[course]:
                max_sco = score[course]
        return max_sco



if __name__ == '__main__':
    sco1 = Score(90, 117, 94)
    print(sco1.__dict__)
    stu1 = Student('King', 21, sco1.__dict__)
    print('学生姓名为:%s' % stu1.get_name())
    print('学生年龄为:%s' % stu1.get_age())
    print('三科中成绩最高分数是:%d' % stu1.get_course(sco1.__dict__))

输出结果:
{'chinese': 90, 'math': 117, 'english': 94}
学生姓名为:King
学生年龄为:21
三科中成绩最高分数是:117

"""
建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等成员变量,并通过不同的构造方法创
建实例。至少要求 汽车能够加速 减速 停车。 再定义一个小汽⻋车类CarAuto 继承Auto 并添加空调、CD等成
员变量 覆盖加速 减速的方法
"""


class Auto:
    def __init__(self , tyre=4, color='', weight=0, speed=0):
        self.tyre = tyre
        self.color = color
        self.weight = weight
        self.speed = speed

    def up_speed(self):
        self.speed += 1
        print('Auto加速')

    def down_speed(self):
        if self.speed <= 0:
            return
        self.speed -= 1
        print('Auto减速')

    def stop_car(self):
        self.speed = 0
        print('Auto停止了')

class CarAuto(Auto):
    def __init__(self, air_conditioner='制冷', cd = ''):
        super().__init__()
        self.air_conditioner = air_conditioner
        self.cd = cd

    def up_speed(self):
        self.speed += 1
        print('CarAuto加速')

    def down_speed(self):
        self.speed -= 1
        print('CarAuto减速')



if __name__ == '__main__':
    a1 = Auto(4, '白色', 800, 60)
    c1 = CarAuto(cd='仙剑问情')
    c1.tyre = 4
    c1.color = '红色'
    c1.weight = 500
    c1.speed = 75

    a1.up_speed()
    a1.down_speed()
    a1.stop_car()

    c1.up_speed()
    c1.down_speed()

输出结果:
Auto加速
Auto减速
Auto停止了
CarAuto加速
CarAuto减速

"""
创建一个名为User 的类,其中包含属性firstname  和 lastname ,还有用户简介通常会存储的其他几个属
性。在类User 中定义一个名为describeuser()  的方法,它打印用户信息摘要 ; 再定义一个名为 greetuser() 的
方法,它向用户发出个性化的问候

管理员是一种特殊的用户。编写一个名为Admin 的类,让它继承User类。添加一个名为privileges 的属性,
用于存储一个由字符串(如"can add post"、"can delete post"、"can ban user"等)组成的列表。编写一个名为
show_privileges()的方法,它显示管理员的权限。创建一个Admin 实例,并调⽤用这个方法

"""


import time

# print(time.localtime(),time.localtime().tm_hour)


class User:
    def __init__(self, first_name='', last_name='', address=''):
        self.first_name = first_name
        self.last_name = last_name
        self.address = address

    def describe_user(self):
        print('姓:%s \n名:%s \n住址:%s' % (self.first_name, self.last_name, self.address))

    def greet_user(self):
        hour = time.localtime().tm_hour
        if 6 < hour <= 11:
            print('早上好%s' % self.last_name)
        if 11 < hour <= 14:
            print('中午好%s' % self.last_name)
        if 14 < hour <= 18:
            print('下午好%s' % self.last_name)
        if 18 < hour <= 24 or 0 <= hour <=6:
            print('晚上好%s' % self.last_name)

class Admin(User):
    def __init__(self, privileges=[]):
        super().__init__()
        self.privileges = privileges

    def show_privileges(self):
        print('管理员的权限有:')
        for privileges in self.privileges:
            print(privileges)




if __name__ == '__main__':
    user1 = User('King','JX','南充')
    user1.describe_user()
    user1.greet_user()

    admin1 = Admin(["can add post","can delete post","can ban user"])
    admin1.show_privileges()

输出结果:
姓:King 
名:JX 
住址:南充
晚上好JX
管理员的权限有:
can add post
can delete post
can ban user

"""

"""


class Person:

    number = 0
    def __init__(self):
        Person.number += 1
        print('创建了一个对象')
        return print('这是第%d个对象' % Person.number)





if __name__ == '__main__':
    p1 = Person()
    p2 = Person()
    p3 = Person()

输出结果:
创建了一个对象
这是第1个对象
创建了一个对象
这是第2个对象
创建了一个对象
这是第3个对象

上一篇下一篇

猜你喜欢

热点阅读