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)