exercise

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

class Computer:
    """电脑类"""
    def __init__(self, brand='联想', color='黑色', memory=0):
        self.brand = brand
        self.color = color
        self.memory = memory

    @staticmethod
    def play_game(game):
        print('玩儿%s' % game)

    @staticmethod
    def code():
        print('写python代码')

    @staticmethod
    def watch_video(video):
        print('在看%s' % video)

com1 = Computer(memory=512)
# 查
print(com1.color)
print(getattr(com1, 'color', '白色'))
# 改
com1.brand = '戴尔'
setattr(com1, 'brand', '华硕')
# 增
# com1.size = 13.5
setattr(com1, 'size', 15)
print(com1.size)
# 删
del com1.size
delattr(com1, 'memory')

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

class Dog:
    def __init__(self,name,color,age):
        self.name = name
        self.color = color
        self.age = age
    def bark(self):
        print('汪汪汪!')

class Person:
    def __init__(self,name,age):
        self.name = name
        self.age = age
        self.dog = None
    def walk_the_dog(self):
        return print(self.name+self.dog.name+'一起散步')


p1 = Person('小明',16)
p1.dog=Dog('点点','白色',1)
p1.walk_the_dog()

#小明点点一起散步

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

class Rectangle:
    def __init__(self, length1, width1):
        self.length = length1
        self.width = width1

    def area(self):
        return self.length * self.width

    def perimeter(self):
        return (self.length + self.width) * 2

r1=Rectangle(2,5)
r2=Rectangle(10,20)
r3=Rectangle(50,80)
print('r1面积是:%d'%r1.area(),'r2面积是:%d'%r2.area(),'r3面积是:%d'%r3.area())
print('r1周长是:%d'%r1.perimeter(),'r2周长是:%d'%r2.perimeter(),'r3周长是:%d'%r3.perimeter())

#r1面积是:10 r2面积是:200 r3面积是:4000
#r1周长是:14 r2周长是:60 r3周长是:260

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

class Student():
    """学生"""
    def __init__(self,name='',age=0,id=''):
        self.name=name
        self.age=age
        self.id=id
    def answer(self):
        print('%s,到'% self.name)
    def show_info(self):
        print('姓名是:%s,年龄:%d,学号是%s'%(self.name,self.age,self.id))
class Class():
    """班级"""
    def __init__(self,name=''):
        self.name=name
        self.student=[]#里面是学生对象
        self.__num = 0

    def add_student(self):
        name = input('请输入学生的姓名:')
        age = input('请输入学生的年龄:')
        self.__num += 1
        id = 'python' + str(self.__num).rjust(3, '0')
        stu=Student(name,int(age),id)
        self.student.append(stu)

    def del_student(self):
        del_name=input('请输入要删除的学生姓名:')
        a = True
        for student in self.student[:]:
            if del_name==student.name:
                self.student.remove(student)
                print('删除成功!')
                a = False
        if a:
            print('没有该学生')

    def ask_name(self):
        """点名"""
        for student in self.student[:]:
            print(student.name)
            student.answer()


class1=Class('python1806')
for i in range(3):
    class1.add_student()
class1.del_student()
class1.ask_name()

5.写一个类,封装所有和数学运算相关的功能(包含常用功能和常用值, 如:pi,e等)

class Math:
    pi = 3.14159265358
    e = 2.7

    @staticmethod
    def sum_double(num1, num2):
        return num1 + num2

    @classmethod
    def circle_area(cls, r):
        return cls.pi * r**2

你可能感兴趣的:(exercise)