zoukankan      html  css  js  c++  java
  • python学习--面向对象程序设计实例

    面向对象程序设计的基本步骤:

    第一步:根据功能,抽象业务对象

    第二步:构建独立的业务模块,利用封装、继承、多态等抽象业务需求

    第三步:编写程序

    第四步:以对象为单位输入参数、开展测试

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    # 找到GPA最高的学生
     
    class Student:
        def __init__(self, name, hours, qpoints):
            self.name = name
            self.hours = float(hours)
            self.qpoints = float(qpoints)
         
        def getName(self):
            return self.name
         
        def getHours(self):
            return self.hours
         
        def getQPoints(self):
            return self.qpoints
         
        def gpa(self):
            return self.qpoints/self.hours
         
    def makeStudent(infoStr):
        name, hours, qpoints = infoStr.split("	")
        return Student(name, hours, qpoints)
         
    def main():
        # 打开输入文件
        filename = input("Enter name the grade file: ")
        infile = open(filename, 'r')
        # 设置文件中第一个学生的记录为best
        best = makeStudent(infile.readline())
     
        # 处理文件剩余行数据
        for line in infile:
            # 将每一行数据转换为一个记录
            s = makeStudent(line)
            # 如果该学生是目前GPA最高的,则记录下来
            if s.gpa() > best.gpa():
                best = s
        infile.close()
     
        # 打印GPA成绩最高的学生信息
        print("The best student is:", best.getName())
        print("hours:", best.getHours())
        print("GPA:", best.gpa())
     
    if __name__ == '__main__':
        main()
  • 相关阅读:
    (floyd+DP) zoj 3027
    (树形DP) acdream 1028
    acdream 1032
    (BFS) acdream 1191
    (树形DP) bzoj 1060
    (状态压缩DP) poj 2978
    (DP) codeforces 358D
    (DP+二分) hdu 3433
    (最大生成树) hdu 3367
    hdoj 3501
  • 原文地址:https://www.cnblogs.com/hayden1106/p/7843542.html
Copyright © 2011-2022 走看看