美文网首页
day_12作业

day_12作业

作者: 我是一只菜鳥 | 来源:发表于2018-07-31 21:18 被阅读0次

    作业1

    
    """
    1.声明一个电脑类:  
    属性:品牌、颜色、内存大小  
    方法:打游戏、写代码、看视频  
    """
    class Computer:
        def __init__(self, brand='', color='',memory=''):
            self.brand = brand
            self.color = color
            self.memory = memory
        @staticmethod
        def play_game():
            print('打游戏')
    
        @staticmethod
        def write_code():
            print('写代码')
    
        @staticmethod
        def watch_video():
            print('看视频')
    
    if __name__ == '__main__':
        """
        a.创建电脑类的对象,然后通过对象点的方式获取、修改、添加和删除它的属性  
        b.通过attr相关方法去获取、修改、添加和删除它的属性  
        """
        comp1 = Computer('Apple', 'black', '16GB')
    
        print(comp1.brand, comp1.color, comp1.memory)
        print('==',getattr(comp1, 'brand'),getattr(comp1, 'color'),getattr(comp1, 'memory'))
    
        comp1.memory = '8GB'
        print(comp1.memory)
        setattr(comp1, 'memory', '4GB')
        print('==', comp1.memory)
    
        comp1.size = '15英寸'
        print(comp1.size)
        setattr(comp1, 'weight', '1kg')
        print('==', comp1.weight)
    
        del comp1.size
        # print(comp1.size)
        delattr(comp1, 'weight')
        # print(comp1.weight)
    
    >>>
    
    Apple black 16GB
    == Apple black 16GB
    8GB
    == 4GB
    15英寸
    == 1kg
    

    作业2

    """
    2.声明一个人的类和狗的类:  
    狗的属性:名字、颜色、年龄  狗的方法:叫唤  
    人的属性:名字、年龄、狗   人的方法:遛狗  
    a.创建人的对象小明,让他拥有一条狗大黄,然后让小明去遛大黄
    """
    
    class Dog:
        """狗类"""
        def __init__(self, name='', color='', age=0):
            self.name = name
            self.color = color
            self.age = age
    
    
        def call(self):
            print('%s叫唤' % self.name)
    
    class Person:
        """人类"""
        def __init__(self, name='', age=0, dog=[]):
            self.name = name
            self.age = age
            self.dog = dog
    
        def walk_dog(self):
            print('%s正在遛%s' % (self.name, self.dog.name))
    
    if __name__ == '__main__':
        dog1 = Dog('大黄', 'yellow', 2)
        p1 = Person('小明', 18, dog1)
        p1.walk_dog()
    
    >>>
    
    小明正在遛大黄
    
    

    作业3

    """
    3.声明一个矩形类:  
    属性:长、宽   方法:计算周长和面积  
    a.创建不同的矩形,并且打印其周长和面积   
    """
    class Rect:
        def __init__(self, length=0, width=0):
            self.length = length
            self.width = width
    
        def perimeter(self):
            return 2 * (self.length + self.width)
    
        def acre(self):
            return self.length * self.width
    
    if __name__=='__main__':
        r1 = Rect(10, 5)
        print('r1的周长为:%d, 面积为:%d' % (r1.perimeter(), r1.acre()))
    
        r2 = Rect(20, 7)
        print('r2的周长为:%d, 面积为:%d' % (r2.perimeter(), r2.acre()))
    
        r3 = Rect(11, 11)
        print('r3的周长为:%d, 面积为:%d' % (r3.perimeter(), r3.acre()))
    
    >>>
    
    r1的周长为:30, 面积为:50
    r2的周长为:54, 面积为:140
    r3的周长为:44, 面积为:121
    

    作业4

    """
    4.创建一个学生类:  
    属性:姓名,年龄,学号   方法:答到,展示学生信息
    创建一个班级类:  
    属性:学生,班级名   方法:添加学生,删除学生,点名  
    """
    class Student:
        def __init__(self, name='', age=0, id=''):
            self.name = name
            self.age = age
            self.id = id
    
        def reach(self):
            print('%s:到' % self.name)
    
        @classmethod
        def show_info(cls):
            print(cls.name, cls.age, cls.id)
    
        def __str__(self):
            return 'name:%s, age:%d, id:%s' % (self.name, self.age, self.id)
    
    
    class Class:
        def __init__(self, name='', students=[]):
            self.name = name
            self.students = students
    
        def add_student(self):
            print('添加学生')
            name = input('name:')
            age = int(input('age:'))
            id = input('id:')
            stu = Student(name, age, id)
            self.students.append(stu)
    
        def del_student(self):
            print('删除学生')
            name = input('name')
            flag = True
            index_list = []
            for index in range(0, len(self.students)):
                if name == self.students[index].name:
                    flag = False
                    print(index, self.students[index])
                    index_list.append(index)
            if flag:
                print('没有找到')
            else:
                del_index = int(input('请输入要删除学生的下标:'))
                if del_index in index_list:
                    del self.students[del_index]
                    print('删除成功')
                else:
                    print('下标输入错误')
    
        def roll_call(self):
            name = input('请输入要点名的名字:')
            for item in self.students:
                if name == item.name:
                    print(item)
                    item.reach()
    
    if __name__=='__main__':
        # stu1 = Student('xxx', 18, '123')
        cla1 = Class('py1805')
        print(type(cla1.students))
        print(cla1.name, cla1.students)
    
        cla1.add_student()
        print(cla1.name, cla1.students)
    
        cla1.add_student()
        print(cla1.name, cla1.students)
    
        cla1.del_student()
        print(cla1.name, cla1.students)
    
        cla1.roll_call()
    
    >>>
    
    <class 'list'>
    py1805 []
    添加学生
    name:aa
    age:1
    id:1
    py1805 [<__main__.Student object at 0x021D6430>]
    添加学生
    name:bb
    age:2
    id:2
    py1805 [<__main__.Student object at 0x021D6430>, <__main__.Student object at 0x021D6470>]
    删除学生
    namebb
    1 name:bb, age:2, id:2
    请输入要删除学生的下标:1
    删除成功
    py1805 [<__main__.Student object at 0x021D6430>]
    请输入要点名的名字:aa
    name:aa, age:1, id:1
    aa:到
    

    作业5

    """
    5.写一个类,封装所有和数学运算相关的功能(包含常用功能和常用值,例如:pi,e等)
    """
    import math
    
    class MathOperation:
        pi = math.pi
        e = math.e
        def add(self, *number):
            sum = 0
            for item in number:
                sum += item
            return sum
        def sub(self, *number):
            dif =  number[0]
            for index in range(1, len(number)):
                dif -= number[index]
            return dif
        def mul(self, *number):
            mul1 = number[0]
            for index in range(1, len(number)):
                mul1 *= number[index]
            return mul1
    
    if __name__=='__main__':
        num1 = [20, 5, 100]
        oper1 = MathOperation()
        print(oper1.pi, oper1.e)
    
        print(oper1.add(*num1))
        print(oper1.sub(*num1))
        print(oper1.mul(*num1))
    
    >>>
    
    3.141592653589793 2.718281828459045
    125
    -85
    10000
    

    作业6

    """
    6.写一个班级类,属性:班级名、学生;功能:添加学生、删除学生、根据姓名查看学生信息,展示班级的所有学生信息
    """
    
    class Class:
        def __init__(self, name='', students=[]):
            self.name = name
            self.students = students
    
        def add_student(self):
            print('添加学生')
            num = int(input('请输入添加学生人数:'))
            for count in range(num):
                name = input('name:')
                age = int(input('age:'))
                stu = {'name':name, 'age':age}
                self.students.append(stu)
    
        def del_student(self):
            print('删除学生')
            name = input('name')
            flag = True
            index_list = []
            for index in range(0, len(self.students)):
                if name == self.students[index]['name']:
                    flag = False
                    print(index, self.students[index])
                    index_list.append(index)
            if flag:
                print('没有找到')
            else:
                del_index = int(input('请输入要删除学生的下标:'))
                if del_index in index_list:
                    del self.students[del_index]
                else:
                    print('下标输入错误')
    
        def look_student(self):
            print('查看学生')
            name = input('请输入要查看的学生名字:')
            flag = True
            for item in self.students:
                if name == item['name']:
                    flag = False
                    print(item)
            if flag:
                print('没有找到')
    
        def show_info(self):
            for item in self.students:
                print(item)
    
    if __name__=='__main__':
        stu = {'name':'xxx', 'age':18}
        stu1 = []
        stu1.append(stu)
        cla1 = Class('py1805', stu1)
    
        cla1.add_student()
        cla1.del_student()
        cla1.look_student()
        print('=========')
        cla1.show_info()
    
    >>>
    
    添加学生
    请输入添加学生人数:2
    name:aa
    age:1
    name:bb
    age:2
    删除学生
    namebb
    2 {'name': 'bb', 'age': 2}
    请输入要删除学生的下标:2
    查看学生
    请输入要查看的学生名字:aa
    {'name': 'aa', 'age': 1}
    =========
    {'name': 'xxx', 'age': 18}
    {'name': 'aa', 'age': 1}
    

    相关文章

      网友评论

          本文标题:day_12作业

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