我该如何存储这些数据?

时间:2014-10-29 16:21:40

标签: python python-3.x

我正在使用python 3制作一个高尔夫计分程序,对于每个18洞商店: 洞号,标准杆,难度等级和目标得分。

目标分数是根据标准杆,难度和差点计算的(可由用户更改)。

您建议哪种方法成为存储此数据的最佳方法,以便以类似于表格的方式显示,如果用户编辑差点值,目标分数会轻易更改?

我真的不知道从哪里开始,因为我的经验很少。

感谢。

1 个答案:

答案 0 :(得分:0)

建立一个班级。

class HoleScore(object):
    def __init__(self, hole_number, par, difficulty, handicap=0):
        self.hole_number = hole_number
        self.par = par
        self.difficulty = difficulty
        self.handicap = handicap
    @property
    def target_score(self):
        return do_some_calculation_of_attributes(self.par, self.difficulty, self.handicap)

然后你可以添加一些dunder方法来帮助解决问题,或者(更好)设计一个函数来从一堆HoleScore个对象构建一个表。类似的东西:

# inside class HoleScore
    @staticmethod
    def make_table(list_of_holes):
        """list_of_holes is a list of HoleScore objects"""
        print("Some | headers | here")
        for hole in list_of_holes:
            fields = [hole.hole_number,
                      hole.par,
                      hole.handicap,
                      hole.target_score]
            print("|".join(fields)) # use some string formatting here?