美文网首页
day14-作业

day14-作业

作者: d4lx | 来源:发表于2018-09-06 20:02 被阅读0次

    day14作业

    1、声明一个电脑类:
    """
    属性:品牌、颜色、内存大小
    方法:打游戏、写代码、看视频
    a、创建电脑类的对象,然后通过对象的方式获取、修改、添加、和删除它的属性
    b、通过attr相关方法去获取、修改、添加和删除它的属性
    """

    class Computer:
        def __init__(self, brand='联想', color='白色', memory=512):
            self.brand = brand
            self.color = color
            self.memory = memory
    
        @staticmethod
        def play_game(game):
            print('玩%s'%game)
    
        @staticmethod
        def write_code():
            print('写代码')
    
        @staticmethod
        def look_video(video):
            print('看%s'%video)
    
    com1 = Computer()
    # 查
    print(com1.brand)
    print(getattr(com1,'brand'))
    # 改
    com1.brand = '华硕'
    print(com1.brand)
    setattr(com1,'color', '黑色')
    print(com1.color)
    # 增
    com1.price = '5699'
    setattr(com1,'size',13.4)
    print(com1.price,com1.size)
    # 删
    del com1.size
    delattr(com1, 'price')
    

    结果:


    1.png

    2、声明一个人的类和狗的类:
    """
    狗的属性:名字、颜色、年龄 狗的方法:叫
    人的属性:名字、年龄、狗 人的方法:遛狗
    a、创建人的对象小明,让他拥有一条狗大黄,然后让小明去溜大黄
    """

    class Dog:
        def __init__(self, name, color, age):
            self.name = name
            self.color = color
            self.age = age
    
        def shout(self):
            print('%s在汪汪叫'%self.name)
    
    
    class Person:
        def __init__(self,name):
            self.name = name
            # dog属性的值必须是Dog类的对象
            self.dog = None
        def took_dog(self):
            # 能遛狗的前提是自己有狗
            if not self.dog:
                print('没有狗,不好意思')
                return
            print('%s牵着%s在玩儿'%(self.name,self.dog.name))
    
    p1 = Person('小明')
    p1.dog = Dog('大黄','黄色','3')
    p1.took_dog()
    

    结果:


    2.png

    3、声明一个矩形类:

    """
    属性:长,宽  方法:计算周长和面积
    a、创建不同的矩形,并且打印其周长和面积
    """
    class Rect:
        def __init__(self, width, high):
            self.width = width
            self.high = high
        def area(self):
            return self.high*self.width
        def length(self):
            return 2*(self.width+self.high)
    r1 = Rect(3, 4)
    r2 = Rect(5, 6)
    print('r1的面积是:%d,周长为:%d'%(r1.area(),r1.length()))
    print('r2的面积是:%d,周长为:%d'%(r2.area(),r2.length()))
    

    结果:


    3.png

    4、创建一个学生类:
    """
    属性:姓名,年龄,学号 方法:答到 ,展示学生信息
    创建一个班级类:
    属性:学生,班级名 方法:添加学生,删除学生,点名
    """

    class Student:
        def __init__(self,name,age,id=''):
            self.name = name
            self.age = age
            self.id = id
    
        def response(self):
            print('%s,到'%self.name)
    
        def show_info(self):
            print('姓名:%s 年龄:%d 学号:%s' % (self.name, self.age, self.id))
    
    class Class:
        """班级"""
        def __init__(self, name):
            self.students = []  # 这个列表的元素是学生对象
            self.name = name
            self.__count = 0
    
        def add_student(self):
            """添加学生"""
            name = input('姓名:')
            age = input('年龄:')
            # 学号
            self.__count += 1
            id = 'stu' + str(self.__count).rjust(3, '0')
    
            # 创建学生对象
            stu = Student(name, int(age), id)
    
            # 将学生保存到班级中
            self.students.append(stu)
    
        def del_student(self):
            """删除学生"""
            del_name = input('请输入要删除的学生名字:')
    
            is_del = False
            # 遍历列表拿到的是学生对象
            for stu in self.students[:]:
                if stu.name == del_name:
                    self.students.remove(stu)
                    print('删除成功!')
                    is_del = True
    
            if not is_del:
                print('没有该学生!')
    
        def call_names(self):
            """点名"""
            for stu in self.students:
                print(stu.name)
                stu.response()
    
    
    class1 = Class('python1806')
    # 添加学生
    for _ in range(5):
        class1.add_student()
    # 删除学生
    class1.del_student()
    # 点名
    class1.call_names()
    for stu in class1.students:
        stu.show_info()
    

    结果:


    4.png

    5、写一个类,封装所有和数学运算相关的功能(包含常用功能和常用值,例如,pi,e)

    import math
    class My_math:
        pi = math.pi
        e = math.e
        def __init__(self,num1,num2):
            self.num1 = num1
            self.num2 = num2
        def add(self):
            return self.num1 + self.num2
        def sub(self):
            return self.num1 - self.num2
        def mul(self):
            return self.num1 * self.num2
        def div(self):
            return self.num1 / self.num2
        def reminder(self):
            return self.num1 % self.num2
        def pow(self):
            return self.num1 ** self.num2
    m1 = My_math(2,3)
    print('e的值为:%f,pi的值为:%f,和:%f,差:%f,积:%f,商:%f,余数:%f,幂:%f'\
          %(m1.e,m1.pi,m1.add(),m1.sub(),m1.mul(),m1.div(),m1.reminder(),m1.pow()))
    

    结果:


    5.png

    相关文章

      网友评论

          本文标题:day14-作业

          本文链接:https://www.haomeiwen.com/subject/exgxgftx.html