day-15作业

1.声明⼀个电脑类: 属性:品牌、颜⾊、内存⼤小 方法:打游戏、写代码、看视频

class Computer:
    def __init__(self,type,color,memory):
        self.type=type
        self.color=color
        self.memory=memory
    def __repr__(self):
        return str(self.__dict__)
    @classmethod
    def play_game(cls):
        return '打游戏'

    @classmethod
    def write_code(self):
        return '写代码'

    @classmethod
    def watch_move(cls):
        return '看小电影'

computer1=Computer('三星','绿色','8g+4T')
# 获取对象属性
print(computer1.type,computer1.color,computer1.memory)
# 修改对象属性
computer1.type='华为' # 三星 绿色 8g+4T
print(computer1) # {'type': '华为', 'color': '绿色', 'memory': '8g+4T'}
# 添加属性
computer1.weight='2.5kg'
print(computer1) #{'type': '华为', 'color': '绿色', 'memory': '8g+4T', 'weight': '2.5kg'}
# 删除属性
del computer1.weight
print(computer1) #{'type': '华为', 'color': '绿色', 'memory': '8g+4T'}

a.创建电脑类的对象,然后通过对象点的⽅方式获取、修改、添加和删除它的属性


computer1=Computer('三星','绿色','8g+4T')
# 获取对象属性
print(computer1.type,computer1.color,computer1.memory)
# 修改对象属性
computer1.type='华为' # 三星 绿色 8g+4T
print(computer1) # {'type': '华为', 'color': '绿色', 'memory': '8g+4T'}
# 添加属性
computer1.weight='2.5kg'
print(computer1) #{'type': '华为', 'color': '绿色', 'memory': '8g+4T', 'weight': '2.5kg'}
# 删除属性
del computer1.weight
print(computer1) #{'type': '华为', 'color': '绿色', 'memory': '8g+4T'}

b.通过attr相关⽅方法去获取、修改、添加和删除它的属性

# 获取属性
print(getattr(compu2,'type',None),getattr(compu2,'color',None),getattr(compu2,'memory',None))
#华硕 红色 4g+1t
# 修改/增加
setattr(compu2,'type','apple')
setattr(compu2,'weight','2kg')
print(compu2)   #{'type': 'apple', 'color': '红色', 'memory': '4g+1t', 'weight': '2kg'}
#删除属性
delattr(compu2,'weight')
print(compu2)  #{'type': 'apple', 'color': '红色', 'memory': '4g+1t'}

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

狗的属性:名字、颜⾊色、年年龄

狗的⽅方法:叫唤

人的属性:名字、年年龄、狗

人的⽅方法:遛狗

a.创建⼈人的对象⼩小明,让他拥有⼀一条狗⼤大⻩黄,然后让⼩小明去遛⼤大⻩黄

class Dog:
    def __init__(self,name,color,age):
        self.name=name
        self.color=color
        self.age=age
    def bark(self):
        return '汪汪'
dog1=Dog('大黄','黄色','1')
print(dog1.bark())
class Person:
    def __init__(self,name,age,pet):
        self.name=name
        self.age=age
        self.pet=pet

    def walk_the_dog(self):
        return '%s在公园里遛%s'%(p1.name,dog1.name)
p1=Person('小明',18,dog1.name)
print(p1.walk_the_dog())

3.声明⼀一个圆类:

class Circle:
    π=3.14
    def __init__(self,radii):
        self.radii=radii


    def peri(self):
        return 2*Circle.π*self.radii


    def area(self):
        return Circle.π*self.radii**2

circle1=Circle(5)

print(circle1.peri(),circle1.area())

4.创建⼀一个学⽣生类:

属性:姓名,年龄,学号

方法:答到,展示学⽣生信息

创建⼀一个班级类:

属性:学⽣,班级名

方法:添加学⽣生,删除学生,点名, 求班上学生的平均年龄

def buider():
    num = 0
    while True:
        yield 'stu'+str(num).zfill(4)
        num+=1
gen1=buider()

class Stu:
    def  __init__(self,name,age,id):
        self.name=name
        self.age=age
        self.id=id
        self.in_classrom = bool(random.randint(0, 1))
    def response(self):
        print('%s,到'%self.name)


    def show_stu_info(self):
        print("姓名:%s,年龄:%d,学号%s"%(self.name,self.age,self.id))

stu1=Stu('小明',19,next(gen1))
stu1.response()
stu1.show_stu_info()




def builler1():
    num1 = 0
    while True:
        yield 'python1809'+str(num1).zfill(3)
        num1 += 1
gen2=builler1()



class Class:
    def __init__(self):
        self.all_stu=[]
        self.class_name='1809班'

    def add_stu(self):
        while True:
            stu_name=input('输入名字')
            stu_age=input('输入年龄')
            stu_id=next(gen2)
            stu = {'name':stu_name,'age':stu_age,'id':stu_id}
            self.all_stu.append(stu)
            input_value=input('1.继续添加\n2.退出')
            if input_value=='2':
                return


    def del_stu(self):
        while True:
            num=input('1.按学号删除\n2.按名字删除\n3.退出')
            if num=='1':
                input_value=input('输入学号:')
                for item in self.all_stu[:]:
                    if item['id']==input_value:
                        self.all_stu.remove(item)
                        print('删除成功')
            elif num == '2':
                input_value = input('输入名字:')
                for item in self.all_stu[:]:
                    if item['name'] == input_value:
                        self.all_stu.remove(item)
                        print('删除成功')
            else:
                return


    def call_the_roll(self,name):
        for item in self.all_stu[:]:
            if item['name']=='name':
                print('%s,到!'%name)


    def average_age(self):
        num = 0
        for item in self.all_stu:
            num+=item['age']

        return len(num/len(self.all_stu))

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容