美文网首页
day13-作业

day13-作业

作者: 2ez4ddf | 来源:发表于2018-11-21 17:13 被阅读0次

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

    class Computer:
        def __init__(self,brand,color,memory_size):
            self.brand = brand
            self.color = color
            self.memory_size = memory_size
        def play_game(self):
            print('打游戏~')
        def write_code(self):
            print('写代码~')
        def watch_video(self):
            print('看视频~')
    
    com1 = Computer('dell','black','512m')
    #a.对象.
    print(com1.brand,com1.color,com1.memory_size)#获取#dell black 512m
    
    com1.brand = 'lenovo'#修改
    com1.color = 'yellow'
    com1.memory_size = '1g'
    
    com1.time = 'two'#添加
    print(com1.brand,com1.color,com1.memory_size,com1.time)#lenovo yellow 1g two
    
    del com1.time#删除
    #b.attr
    print(getattr(com1,'brand'),getattr(com1,'color'),getattr(com1,'memory_size'))#lenovo yellow 1g
    setattr(com1,'brand','dell')#修改
    setattr(com1,'color','black')
    setattr(com1,'memory_size','512m')
    
    setattr(com1,'time','two')#添加
    print(com1.__dict__)#{'brand': 'dell', 'color': 'black', 'memory_size': '512m', 'time': 'two'}
    
    delattr(com1,'time')#删除
    print(com1.__dict__)#{'brand': 'dell', 'color': 'black', 'memory_size': '512m'}
    

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

    class Dog(object):
        def __init__(self,name='',color=None,age=0):
            self.name = name
            self.color = color
            self.age = age
        def bark(self):
            print('%s在叫~' % self.name)
    
    
    class Human(object):
        def __init__(self,name,age=0):
            self.name = name
            self.age = age
            self.dog = None
    
    
        def took_the_dog(self):
            #仿佛可以根据大写类来确定小写 不过输入方便而已
            if self.dog:
                print('%s去遛%s' % (self.name, self.dog.name))
    
            else:
                print('没有狗')
           
    
    #a.
    p1 = Human('ddf',18)
    p1.dog = Dog('大黄','黄色',2)
    print(p1.__dict__)
    print(p1.took_the_dog())
    

    3.声明一个圆类:

    class Circle:
        import math
        def __init__(self,radius):
            self.radius = radius
        def perimeter(self):
            return 2*Circle.math.pi*self.radius
        def area(self):
            return Circle.math.pi*self.radius**2
        def diameter(self):
            return self.radius*2
    
    

    4.创建一个学生类:
    属性:姓名,年龄,学号
    方法:答到,展示学生信息

    创建一个班级类:
    属性:学生,班级名
    方法:添加学生,删除学生,点名, 求班上学生的平均年龄

    from random import randint
    
    
    class Student(object):
        def __init__(self, name, age=0, study_id=''):
            self.name = name
            self.age = age
            self.study_id = study_id
            # 是否在上课
            self.is_in_class = bool(randint(0, 1))
    
        def reply(self):
            print('%s,到!' % self.name)
    
        def show_info(self):
            print('名字:%s,年龄:%d,学号:%s' % (self.name, self.age, self.study_id))
    
    
    class Class(object):
        def __init__(self, name: str):
            self.name = name
            self.students = []
            self.__creat_id = (self.name+str(x).rjust(3, '0') for x in range(1, 101))
    
        def add_student(self):
            # 输入信息
            name = input('姓名:')
            age = int(input('年龄:'))
            study_id = next(self.__creat_id)
            # 创建学生对象
            stu1 = Student(name, age, study_id)
            self.students.append(stu1)
    
        def del_student(self):
            """按姓名删除学生"""
            is_exist = False
            del_name = input('请输入要删除的学生的名字:')
            for stu in self.students[:]:
                if del_name == stu.name:
                    # 有这个学生
                    is_exist = True
                    stu.show_info()
                    is_del = input('是否删除(Y/N)?:')
                    if is_del == 'Y':
                        self.students.remove(stu)
                        print('删除成功')
    
            if not is_exist:
                print('这个学生不存在!!!')
    
        def naming(self):
            """点名"""
            for stu in self.students:
                print(stu.name)
                if stu.is_in_class:
                    stu.reply()
    
        def average_age(self):
            """ 平均年龄 """
            sum1 = 0
            for stu in self.students:
                sum1 += stu.age
            return sum1 / len(self.students)
    
        def show_student_info(self):
            """显示所有学生信息"""
            for stu in self.students:
                stu.show_info()
    
    
    # 创建班级对象
    class1 = Class('py1808')
    
    # 添加5个学生
    for _ in range(3):
        class1.add_student()
    
    # 显示班级所有学生的信息
    class1.show_student_info()
    
    # 删除学生
    class1.del_student()
    
    
    # 显示班级所有学生的信息
    class1.show_student_info()
    
    #
    # 添加1个学生
    class1.add_student()
    # 显示班级所有学生的信息
    class1.show_student_info()
    print('平均年龄:%.2f' % class1.average_age())
    
    

    相关文章

      网友评论

          本文标题:day13-作业

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