美文网首页
day13-作业

day13-作业

作者: 2333_11f6 | 来源:发表于2018-11-22 17:42 被阅读0次

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

class Conputer:
    """电脑类"""
    def __init__(self, brand, color, ram):
        self.brand = brand
        self.color = color
        self.ram = ram

    def play_game(self):
        print('玩游戏')

    def write_code(self):
        print('写代码')

    def watch_video(self):
        print('看视视频')


cp1 = Conputer('华硕', '宝石蓝', '4g')

# a
# 获取
print(cp1.brand)         # 华硕
# 修改
cp1.brand = 'apple'
print(cp1.brand)         # apple
# 添加
cp1.price = 2000
print(cp1.price)         # 2000
# 删除
del cp1.price
# print(cp1.price)  
# AttributeError: 'Conputer' object has no attribute 'price'


print('='*88)
# b
# 获取
print(getattr(cp1, 'brand'))        # apple
# 修改
setattr(cp1, 'brand', '华硕')
print(cp1.brand)                     # 华硕
# 添加
setattr(cp1, 'price', 3000)
print(getattr(cp1, 'price'))         # 3000
# 删除
delattr(cp1, 'price')
print(cp1.__dict__)      # {'brand': '华硕', 'color': '宝石蓝', 'ram': '4g'}

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

class Person:
    def __init__(self, name, age, dog):
        self.name = name
        self.age = age
        self.dog = dog

    def walk_the_dog(self):
        print('%s在遛他的狗:%s' % (self.name, self.dog))


class Dog:
    def __init__(self, name, color, age):
        self.name = name
        self.age = age
        self.color = color

    def shout(self):
        print('%s:汪汪汪' % self.name)


p1 = Person('小明', 8, '大黄')
p1.walk_the_dog()
运行结果

3.声明⼀一个圆类:

class Circle:
    """一个圆类,包含求面积和周长的方法"""
    pi = 3.141592653589793

    def __init__(self, radius):
        self.radius = radius

    def area(self):
        return Circle.pi*self.radius**2

    def per(self):
        return 2*Circle.pi*self.radius


c1 = Circle(3)
print('面积为:%.2f' % c1.area())          # 面积为:28.27
print('周长为:%.2f' % c1.per())           # 周长为:18.85

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

class Student:
    """学生类"""
    def __init__(self, name, age, stu_id):
        self.name = name
        self.age = age
        self.stu_id = stu_id

    def show_stu(self):
        # print('$$$$$$$$$$$$', len(self.__dict__))
        for key in self.__dict__:
            print(key + ':' + self.__dict__[key], end=' ')


class Class:
    """班级类"""
    def __init__(self, class_name):
        self.stu = []
        self.class_name = class_name

    def add_stu(self):
        stu_name = input('请输入要添加学生的姓名:')
        stu_age = input('请输入要添加学生的年龄:')
        stu_id = input('请输入要添加学生的学号:')
        # self.stu.append(Student(stu_name, stu_age, stu_id).__dict__)
        self.stu.append(Student(stu_name, stu_age, stu_id))
        print('添加成功')

    def del_stu(self, name: str):
        print('----', self.stu)
        index = i = 0
        # for index in range(len(self.stu)-i):
        while index < len(self.stu)-i:
            # print('7777', self.stu[index].name)
            if name == self.stu[index].name:
                self.stu.pop(index)
                print('删除成功')
                i += 1
                break
        else:
            print('查无此人,删除失败!')
            return None

    def cal_stu(self, name):
        for index in range(len(self.stu)):
            if name == self.stu[index].name:
                self.stu[index].show_stu()
                break
        else:
            print('查无此人,点名失败!')
            return None

    def aver_stu_age(self):
        sum1 = 0
        for index in range(len(self.stu)):
            sum1 += int(self.stu[index].age)
        return sum1/len(self.stu)

    def show_all(self):
        for index in range(len(self.stu)):
            self.stu[index].show_stu()
            print()


c1 = Class('火箭')
while 1:
    print('1.添加学⽣生\n2.删除学生\n3.点名\n4.求班上学生的平均年龄')
    choice = input()
    if choice == '1':
        c1.add_stu()
        continue
    elif choice == '2':
        del_name = input('请输入要删除学生的姓名:')
        c1.del_stu(del_name)
        continue
    elif choice == '3':
        cal_name = input('请输入要点学生的姓名:')
        c1.cal_stu(cal_name)
        break
    elif choice == '4':
        aver_age = c1.aver_stu_age()
        print(aver_age)
        continue

相关文章

  • Day13-作业

    类和调用 文件操作函数: 结果: 错误输入得到的结果:

  • day13-作业

    作业: 面向对象人力资源管理系统: 能存多个员工信息(每个员工的信息有:姓名、年龄、工号、薪资、职位、部门) 新员...

  • day13-作业

    面向对象人力资源管理系统: 能存多个员工信息(每个员工的信息有:姓名、年龄、工号、薪资、职位、部门) 新员工入职(...

  • day13-作业

    1.声明⼀个电脑类: 属性:品牌、颜⾊、内存⼤小 方法:打游戏、写代码、看视频a.创建电脑类的对象,然后通过对象点...

  • day13-作业

    1.声明⼀个电脑类: 属性:品牌、颜⾊、内存⼤小 方法:打游戏、写代码、看视频 a.创建电脑类的对象,然后通过对象...

  • Day13-作业

    1.声明⼀个电脑类: 属性:品牌、颜⾊、内存⼤小 方法:打游戏、写代码、看视频 a.创建电脑类的对象,然后通过对象...

  • day13-作业

    1.声明⼀个电脑类: 属性:品牌、颜⾊、内存⼤小 方法:打游戏、写代码、看视频 a.创建电脑类的对象,然后通过对象...

  • day13-作业

    1.声明一个电脑类: 属性:品牌、颜色、内存大小;方法:打游戏、写代码、看视频a.创建电脑类的对象,然后通过对象点...

  • Day13-基操作业

    1.声明⼀个电脑类: 属性:品牌、颜⾊、内存⼤小 方法:打游戏、写代码、看视频 a.创建电脑类的对象,然后通过对象...

  • Day13-下

    Day13-下 Chapter8 想了一下,篇章的翻译你们可以用有道拍了直接翻译(推荐有道词典和有道翻译官,其实还...

网友评论

      本文标题:day13-作业

      本文链接:https://www.haomeiwen.com/subject/svncqqtx.html