Day14homework

import math
from random import randint

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


class Computer:
    def __init__(self, brand, color, ram):
        self.brand = brand
        self.color = color
        self.ram = ram

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

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


com1 = Computer('联想', '黑色', 8)
# 增
# com1.size = 15
setattr(com1, 'size', 15)

# 删
# del com1.color
delattr(com1, 'color')

# 改
# com1.brand = '戴尔'
setattr(com1, 'brand', '戴尔')

# 查
print(com1.brand)
print(getattr(com1, 'brand1', '苹果'))

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



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

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


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

    def walk_the_dog(self):
        if self.dog:
            print('%s牵着%s在散步' % (self.name, self.dog.name))
        else:
            print('没有狗!遛自己!')


p1 = Person('小明', 18)
p1.dog = Dog('大黄', 3)  #声明一条属于p1的狗
p1.walk_the_dog()

3.声明一个圆类,自己确定有哪些属性和方法

class Circle:  #先声明
    def __init__(self, radius): #创建属性
        self.radius = radius

    def get_perimeter(self):   #创建方法
        return 2*math.pi*self.radius

    def get_area(self):  # 创建方法 ,用return取获得相应的值
        return math.pi * self.radius**2

4.创建一个学生类:
属性:姓名,年龄,学号
方法:答到,展示学生信息

创建一个班级类:
属性:学生,班级名
方法:添加学生,删除学生,点名, 求班上学生的平均年龄

class Student:
    def __init__(self, name, age=18):
        self.name = name
        self.age = age
        self.stu_id = '001'

    def reply(self):
        print('%s,到!' % self.name)

    def show(self):
        print('姓名:%s,年龄: %d,学号:%s' % (self.name, self.age, self.stu_id))

class Class:
    def __init__(self, name: str):
        self.students = []
        self.name = name
        self.id_creater = ('stu'+str(x).zfill(3) for x in range(1, 101))

    def add_student(self):
        # 输入信息
        name = input('姓名:')
        age = int(input('年龄:'))
        stu_id = next(self.id_creater)

        # 创建学生
        stu = Student(name, age)
        stu.stu_id = stu_id

        self.students.append(stu)

    def del_student(self, name):
        flag = False
        for stu in self.students[:]:
            if stu.name == name:
                flag = True
                stu.show()
                value = input('是否删除(Y/N):')
                if value == 'Y':
                    self.students.remove(stu)

        if not flag:
            print('没有找到该学生!')

    def call_the_roll(self):
        for stu in self.students:
            print(stu.name)
            if randint(0, 1) == 1:
                # 答到
                stu.reply()


c1 = Class('py1902')

print('===========添加学生============')
for _ in range(5):
    c1.add_student()


print('===========删除学生============')
c1.del_student('小明')

print('===========点名===============')
c1.call_the_roll()








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

推荐阅读更多精彩内容

  • 声明一个电脑类属性:品牌、颜色、内存大小方法:打游戏、写代码、看视频 a.创建电脑类的对象,然后通过对象点的方式获...
    芽菜包66阅读 185评论 0 0
  • """write by Bray"""""" 建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等属性...
    BrayKing阅读 77评论 0 0
  • 8月22日-----字符串相关 2-3 个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消...
    future_d180阅读 1,009评论 0 1
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,174评论 1 32
  • 为友刊印《王俊明》 老挝石,1.3厘米。 与您分享,请您斧正! 南无阿弥陀佛
    化莲堂阅读 208评论 0 2