2018-10-17 Day14作业

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

    def play_games(self):
        print('打游戏')
    def write_code(self):
        print('写代码')
    def watch_video(self):
        print('看视频')
compter1=Computer('戴尔','white','16G')
print(compter1.color)
compter1.color='black'
print(compter1.color)
del compter1.color
compter1.color='red'
print(compter1.color)

compter2=Computer('联想','white','16G')
print(getattr(compter2,'brand','无'))
setattr(compter2,'brand','华硕')
print(getattr(compter2,'brand','无'))
delattr(compter2,'brand')
print(getattr(compter2,'brand','无'))
setattr(compter2,'brand','神舟')
print(getattr(compter2,'brand','无'))

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

class Person:
    def __init__(self,name,age,dog):
        self.name=name
        self.age=age
        self.dog=dog
    def walk_dog(self):
        print('今天阳光明媚,%s带着%s去散步'%(self.name,self.dog))
class Dog:
    def __init__(self,name,color,age):
        self.name = name
        self.color = color
        self.age = age
    def bark(self):
        print('%s高兴地汪汪叫'%self.name)
d1 = Dog('帕克','黄色','2')
p1 = Person('卡卡西','34',d1.name)
p1.walk_dog()

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

class Rectangle:
    def __init__(self,length,width):
        self.length=length
        self.width=width
    def perimeter(self):
        print((self.length+self.width)*2)
    def area(self):
        print(self.length*self.width)
p1=Rectangle(15,10)
p1.perimeter()
p1.area()

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

class Student:
    def __init__(self,name,age,num,score):
        self.name=name
        self.age=age
        self.num=num
        self.score=score
    def show_info(self,stu):
        return stu.name,stu.age,stu.num,stu.score
    def reply(self):
        print('%s到'%self.name)

class Class:
    def __init__(self,name,students=[]):
        self.name=name
        self.students=students
    def add_stu(self):
        name = input("请输入名字:")
        age = input("请输入年龄:")
        num= input("请输入学号:")
        score = input("请输入成绩:")
        stu = Student(name, age, num,int(score))
        self.students.append(stu)
    def del_stu(self):
        name = input("请输入要删除学生的姓名")
        for stu in self.students[:]:
            if stu == name:
                del stu
    def say(self, name):
        print('%s到了没'%name)
    def average_score(self):
        sum=0
        for student in self.students:
            sum+=student.score
        if len(self.students)==0:
            return 0
        return sum/len(self.students)
    def max_score(self):
        max=self.students[0].score
        name=self.students[0].name
        for student in self.students:
            if student.score>self.students[0].score:
                max = student.score
                name =student.name
        return max,name
p1=Class('1ban')
p1.add_stu()
p1.add_stu()
print(p1.average_score())
print(p1.max_score())
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容