2018-10-17作业

1. 声明一个电脑类

属性:品牌、颜色、内存大小

方法:打游戏、写代码、看视频

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

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

class Computer():

    """

    电脑类

    """

    def __init__(self,brand,colour,memsize):

        self.brand= brand

        self.colour= colour

        self.memsize= memsize

    def play_game(self):

        pass

    def write_code(self):

        pass

    def see_video(self):

        pass

c1= Computer('Mechrev','black',8)

#通过对象点的方式获取、修改、添加和删除它的属性

brand1= c1.brand

c1.colour= 'white'

c1.money= 6666

del c1.money

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

brand2= getattr(c1,'brand')

c1.__getattribute__('brand')

setattr(c1,'colour','black')

c1.__setattr__('money',6666)

delattr(c1,'money')

c1.__delattr__('money')

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

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

狗的 法:叫唤

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

人的方法:遛狗

a.创建人的对象名字叫小明,让他拥有一条狗  ,然后让小明去遛狗

class Person():

    def __init__(self,p_name = '',p_age= 0,p_dog =''):

        self.p_name= p_name

        self.p_age= p_age

        self.p_dog= p_dog

    def person_way(self):

        return '遛狗'

class Dog():

    def __init__(self,dog_name = '',dog_colour = '',dog_age = 0):

        self.dog_name= dog_name

        self.dog_colour= dog_colour

        self.dog_age= dog_age

    def dog_way(self):

        return '叫'

c1= Person(p_name = '小明',p_dog = 'lol')

c2= Dog()

c2.dog_name= c1.p_dog

c1.person_way()


3.声明一个矩形类:

属性: 长、宽

方法:计算周长和面积

a.创建不同的矩形,并且打印其周长和面积

class Rectangle():

    """矩形"""

    def __init__(self,long = 0,wide = 0):

        self.long= long

        self.wide=wide

    def perimeter(self):

        print((self.long+ self.wide)* 2)

    def area(self):

        print(self.long* self.wide* 2)

c1= Rectangle(10,20)

c1.perimeter()

c1.area()

c2= Rectangle(8 ,2)

c2.perimeter()

c2.area()


4.创建一个学生类:

属性:姓名,年龄,学号,成绩

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

创建一个班级类: 属性:学生,班级名

方法:添加学生,删除学生,点名, 获取班级中所有学生的平均值, 获取班级中成绩最好的学生

#! /usr/bin/env python3

#-*-coding: utf-8 -*-

#Author ddz

import json

class Student():

    def __init__(self,name = '',age = 0,number = 0,score = 0):

        self.name= name

        self.age= age

        self.number= number

        self.score= score

    def answer(self):

        answer1 = input()

    def information(self):

        print('name :%s, age :%s, number :%s, score :%s' %\

                self.name,self.age,self.number,self.score)

class Team():

    def __init__(self,name = '',team_name = ''):

        self.name= name

        self.team_name= team_name

    def add_student(self):

        name= input('输入添加学生的名字')

        global Student

        students.append(Student(name))

        def del_student(self):

        name= input('输入删除学生的名字')

        for i in students:

            if name== i.name:

                students.remove(i)

        def call_student(self):

            call = input()

        def avg_score(self):

            sum1= 0

            for iin students:

                sum1+= int(i.score)

                print('平均成绩: %s' % (sum1/ len(students)))

        def best_score(self):

            max1= 0

            for s in students:

                if s.score> max1:

                    max1= s.score

                    name1= s.name

                    print('最好成绩!姓名:%s,成绩: %s' % (name1, max1))

with open('./student_inf.json',encoding='utf-8')as f:

    f1= json.load(f)

students= []

for iin f1:

    students.append(Student(i[0], i[1], i[2], i[3]))

t1= Team()

#添加学生,删除学生, 获取班级中所有学生的平均值, 获取班级中成绩最好的学生

t1.add_student()

t1.del_student()

t1.avg_score()

t1.best_score()

students_new= []

for iin students:

    print(i.name)

students_new.append([i.name, i.age, i.number, i.score])

with open('./student_inf.json','w',encoding='utf-8')as f:

    json.dump(students_new, f)

你可能感兴趣的:(2018-10-17作业)