2018-09-06 day14作业

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

class Computer:
    def __init__(self,brand,color,memory):
        self.brand=brand
        self.color=color
        self.memory=memory
        print(self.brand,self.color,self.memory)
    @classmethod
    def play_game(cls):
        print('打游戏')
    @classmethod
    def code(cls):
        print('写代码')
    @staticmethod
    def movie():
        print('看视频')
Computer.play_game()
Computer.code()
Computer.movie()
computer1=Computer('Lenovo',"black",'520G')    #创建对象
#通过对象的方式
print("computer1的品牌是%s"%(computer1.brand))   #查看属性
computer1.color='white'    #修改属性
computer1.size=(1020,800)  #增加属性
del computer1.memory   #删除属性
#通过attr方式
print(getattr(computer1,'brand','Lenovo'))
computer1.__setattr__('color','gray')    #修改属性
print(computer1.color)
computer1.__setattr__('memory2',"512G")   #添加属性
print(computer1.memory2)
computer1.__delattr__('size')   #删除属性

-------------------------------------------------------

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

class Person:
    def __init__(self,name1,age1,dog1):
        self.name1=name1
        self.age1=age1
        self.dog1=dog1
    def walk_dog(self):
        print('遛%s'%(dog_1))

class Dog:
    def __init__(self,name2,color2,age2):
        self.name2=name2
        self.color2=color2
        self.age2=age2
    def shout(self):
        return '叫唤'
dog_1=Dog('大黄','黑','3 years')
person_1=Person('小明',18,dog_1)
print('%s有一只%s的%s狗,它的名字叫%s'%(person_1.name1,dog_1.age2,dog_1.color2,dog_1.name2))
person_1.walk_dog()

--------------------------------------------------------

3.申明一个矩形类:
属性:长,宽 方法:计算周长和面积
a.创建不同的矩形,并打印其周长和面积

class Rectangle:
    def __init__(self,longth,width):
        self.longth=longth
        self.width=width
    def premiter(self):
        return 2*(self.longth+self.width)
    def aera(self):
        return self.width*self.longth
rec1=Rectangle(40,70)
print('rec1的周长是%.2f,面积是%.4f'%(rec1.premiter(),rec1.aera()))
rec2=Rectangle(30,60)
print('rec2的周长是%.2f,面积是%.4f'%(rec2.premiter(),rec2.aera()))
rec3=Rectangle(25,40)
print('rec3的周长是%.2f,面积是%.4f'%(rec3.premiter(),rec3.aera()))

------------------------------------------------------------

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

class Student:
    def __init__(self,name,age,id):
        self.name=name
        self.age=age
        self.id=id
    def answer(self,call):    #call=class1.call()     #答到和展示学生信息
        if self.name==call:     #点名时,学生判断是否点到自己,
            print("到",'\n',self.name,self.age,self.id)    #展示学生信息
            return 1
        else:
            print('此学生没到')
            return 0

class Class:
    def __init__(self,class_name,students=[]):
        self.class_name=class_name
        self.students=students
    def call(self,i):    # i 所有学生的下标    ------点名
        return self.students[i][name]
    def append(self):     #------------------------添加学生
        name=input('请输入姓名')
        age=input('请输入年龄')
        id=input('请输入学号')
        stu1=Student(name,age,id)
        cur_stu={'name':stu1.name,'age':stu1.age,'id':stu1.id}
        self.students.append(cur_stu)
        print('添加成功')
    def delete(self):            #----------------删除学生
        name = input('请输入姓名')
        id = input('请输入学号')
        for i in range(0,len(self.student)):
            if self.students[i]['name']==name and self.students[i]['id']=id:
                del self.students[i]
        print('删除成功')

你可能感兴趣的:(2018-09-06 day14作业)