day14-homework

1.声明⼀个电脑类:

属性:品牌、颜⾊、内存⼤⼩
⽅法:打游戏、写代码、看视频
a.创建电脑类的对象,然后通过对象点的⽅式获取、修改、添加和删除它的属性
b.通过attr相关⽅法去获取、修改、添加和删除它的属性

class Computer:

    def __init__(self,brand,color,memsize):
        self.brand = brand
        self.color = color
        self.memsize = memsize
    def playGame(self):
        print("打游戏")
    def writeCode(self):
        print("写代码")
    def watchTv(self):
        print("看视频")
#a.
computer = Computer('Apple','white','8G')
print(computer.brand)
print(computer.color)
print(computer.memsize)
computer.brand = 'Mi'
computer.color = 'black'
computer.memsize = '4G'
print(computer.brand)
print(computer.color)
print(computer.memsize)
computer.screen = '15.6 inch'
print(computer.screen)
del computer.screen

#b.
computer = Computer('Apple','white','8G')

setattr(computer,'screen','15.6 inch')
print(getattr(computer,'screen',0))
delattr(computer,'screen')

computer.__setattr__('screen','15.6 inch')
print(computer.__getattribute__('screen'))
computer.__delattr__('screen')

2.声明⼀个⼈的类和狗的类:

狗的属性:名字、颜⾊、年龄 狗的⽅法:叫唤
⼈的属性:名字、年龄、狗 ⼈的⽅法:遛狗
a.创建⼈的对象⼩明,让他拥有⼀条狗⼤⻩,然后让⼩明去遛⼤⻩

class Dog:
    def __init__(self,name,color,age):
        self.name = name
        self.color = color
        self.age = age
    def shout(self):
        print(self.name+':汪汪汪~~~')
class Person:
    def __init__(self,name,age,dog):
        self.name = name
        self.age = age
        self.dog = dog
    def walkTheDog(self):
        print(self.name+'正在遛'+self.dog.name)

dog = Dog('旺财','brown','10')
person = Person('小明','21',dog)
person.walkTheDog()
dog.shout()

3.声明⼀个矩形类:

属性:⻓、宽 ⽅法:计算周⻓和⾯积
a.创建不同的矩形,并且打印其周⻓和⾯积

class Rectangle:

    def __init__(self,length,width):
        self.length = length
        self.width = width
    def perimeter(self):
        return (self.length + self.width) * 2
    def area(self):
        return self.length * self.width

rectangle = Rectangle(10,20)
print(rectangle.perimeter())
print(rectangle.area())

4.创建一个学生类:

属性:姓名,年龄,学号,成绩
方法:答到,展示学生信息
创建一个班级类: 属性:学生,班级名
方法:添加学生,删除学生,点名, 获取班级中所有学生的平均值, 获取班级中成绩最好的学生

class Student:

    def __init__(self,name,age,id,grades):
        self.name = name
        self.age = age
        self.id = id
        self.grades = grades
    def signIn(self):
        print(self.name+':我在~~~')

class Studentclass:
    def __init__(self,classname,student:Student):
        self.allstudent = {}
        self.classname = classname
        self.allstudent[student.name] = student
    def addStudent(self,student):
        self.allstudent[student.name] = student
    def delStudent(self,student):
        self.allstudent.pop(student.name)
    def callStudent(self):
        for name in self.allstudent.keys():
            print(name+'在不在???')
    def getAverageGrade(self):
        sum = 0
        for temp in self.allstudent.values():
            sum += temp.grades
        return sum/len(self.allstudent)
    def getBestStudent(self):
        best = Student('','','',0)
        for temp in self.allstudent.values():
            if temp.grades>best.grades:
                best = temp
        return best

laoliu = Student('老刘','21','001',80)
laoyu = Student('老余','28','002',90)
laozeng = Student('老曾','21','003',85)
laolong = Student('老龙','21','004',80)

py = Studentclass('python1807',laoliu)
py.addStudent(laoyu)
py.addStudent(laozeng)
py.addStudent(laolong)
py.callStudent()
laoliu.signIn()
laoyu.signIn()
laozeng.signIn()
laolong.signIn()
print(py.getAverageGrade())
best = py.getBestStudent()
print(best.name+'成绩最好,是'+ str(best.grades))

你可能感兴趣的:(day14-homework)