对选手比赛成绩管理系统
时间: 2023-07-09 12:37:11 浏览: 148
下面是一个选手比赛成绩管理系统的Python代码示例:
```python
import pickle
class Player:
def __init__(self, name, id, gender):
self.name = name
self.id = id
self.gender = gender
class Score:
def __init__(self, name, time, score):
self.name = name
self.time = time
self.score = score
class ScoreManager:
def __init__(self):
self.players = {}
self.scores = {}
def add_player(self, name, id, gender):
player = Player(name, id, gender)
self.players[id] = player
def add_score(self, id, name, time, score):
if id not in self.players:
print("该选手不存在!")
return
if id not in self.scores:
self.scores[id] = []
self.scores[id].append(Score(name, time, score))
def get_score(self, id):
if id not in self.scores:
print("该选手暂无成绩!")
return
for score in self.scores[id]:
print("比赛名称:{},比赛时间:{},成绩:{}".format(score.name, score.time, score.score))
def save(self, filename):
with open(filename, 'wb') as f:
data = {
'players': self.players,
'scores': self.scores
}
pickle.dump(data, f)
def load(self, filename):
with open(filename, 'rb') as f:
data = pickle.load(f)
self.players = data['players']
self.scores = data['scores']
```
在上面的代码中,我们定义了三个类:`Player`、`Score` 和 `ScoreManager`。
`Player` 类用于表示选手信息,包括选手姓名、选手编号和选手性别。
`Score` 类用于表示比赛成绩信息,包括比赛名称、比赛时间和比赛成绩。
`ScoreManager` 类用于管理选手信息和比赛成绩信息,包括添加选手、添加成绩、查询成绩以及数据的存储和加载。
在 `ScoreManager` 类中,我们使用了 Python 的内置模块 `pickle` 来进行数据的序列化和反序列化,从而实现了数据的存储和加载。
您可以根据自己的需求来修改以上代码,实现自己的选手比赛成绩管理系统。