Python面向对象 编程练习

题目

用面向对象方法实现学生类,学生有姓名、性别和dataStructure,algorithm,Python三门课的成绩,
提供读取这些属性的方法,以及把百分制成绩转换为ABCDE五档成绩,计算平均成绩等方法

个人解答:

import types
class Score:
    def __init__(self,dataStructure,algorithm,Python ):
        self.dataStructure = dataStructure
        self.algorithm = algorithm
        self.Python = Python
    #获取数据结构课程的成绩
    def getdataStructure(self):
       return self.dataStructure
    #获取算法课程的成绩
    def getalgorithm(self):
        return self.algorithm
    #获取pyhton课程的成绩
    def getPython(self):
        return self.Python
    #获取三科成绩的平均分
    def getaverage(self):
        return (self.algorithm + self.dataStructure + self.Python)/3


class student:
    def __init__(self,name,sex):
        self.name = name
        self.sex = sex
    #输出学生的名字
    def printname(self):
        print("my name is "+self.name)
     #输出学生的性别
    def printsex(self):
        print("my sex is "+self.sex)
    #输出学生的平均成绩
    def myaverage(self,type):
        print(type.getaverage())

    #输出学生每一科成绩的等级
    def grade(self,score):
        if(score>90):
            print("A")
        elif(score>80):
            print("B")
        elif(score>70):
            print("C")
        elif(score>60):
            print("D")
        else:
            print("E")

测试用例:

#测试用例: “xx ,male 90 ,89,100”
stu = student("xx","male")
sco =Score(90,89,100)
stu.printname()
stu.printsex()
stu.grade(sco.dataStructure)
stu.grade(sco.algorithm)
stu.grade(sco.Python)
stu.myaverage(sco)

水平不足,如果有什么不对,请各位大佬指出更正。

你可能感兴趣的:(学习笔记,python)