我正在使用python 3制作一个高尔夫计分程序,对于每个18洞商店: 洞号,标准杆,难度等级和目标得分。
目标分数是根据标准杆,难度和差点计算的(可由用户更改)。
您建议哪种方法成为存储此数据的最佳方法,以便以类似于表格的方式显示,如果用户编辑差点值,目标分数会轻易更改?
我真的不知道从哪里开始,因为我的经验很少。
感谢。
答案 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?