Python 比赛注册程序使用类

Python 比赛注册程序使用类,python,class,instance,Python,Class,Instance,我的任务是创建一个代码,定义两个类,一个玩家和一个团队,每个类都有一些参数。玩家应该有名字、滑雪板的数量、雪橇的数量和玩家索引(玩家之前玩过的游戏数量) def get_transport_capacity(self): skis = len(Player.skis) for i in Player.sledges: sledges += Player.sledges[i] capacity = skis + sledges return capa

我的任务是创建一个代码,定义两个类,一个玩家和一个团队,每个类都有一些参数。玩家应该有名字、滑雪板的数量、雪橇的数量和玩家索引(玩家之前玩过的游戏数量)

def get_transport_capacity(self):
    skis = len(Player.skis)
    for i in Player.sledges:
        sledges += Player.sledges[i]
    capacity = skis + sledges
    return capacity 
我成功地定义了类的这些属性,但是我很难实现团队类。团队应该拥有团队的名字和球员的数量球员不能只是他们的名字,它必须链接到类实例(球员)。我不明白如何使用player实例中提供的信息来实现团队。以下是我目前的代码:

class Player:
def __init__(self, name, skis, index):
  self.name = name
  self.sledges = []
  self.skis = []
  self.index = index
pass


class Team:
def __init__(self, name, players):
      self.name = name
      self.players = [Player]
pass

def get_players_count()

def get_transport_capacity()

def get_average_index()
def get_transport_capacity(self):
    skis = len(Player.skis)
    for i in Player.sledges:
        sledges += Player.sledges[i]
    capacity = skis + sledges
    return capacity 
*更新 谢谢你的帮助,我还有一个功能要添加,这个功能将返回一个团队可以容纳的乘客数量。我尝试过类似的方法,但我认为语法不正确。用户输入每个底座中的位置数,因此我需要迭代列表中的值以获得位置数

def get_transport_capacity(self):
    skis = len(Player.skis)
    for i in Player.sledges:
        sledges += Player.sledges[i]
    capacity = skis + sledges
    return capacity 
而不是

def get_transport_capacity(self):
    skis = len(Player.skis)
    for i in Player.sledges:
        sledges += Player.sledges[i]
    capacity = skis + sledges
    return capacity 
self.players = [Player]
为什么不:

def get_transport_capacity(self):
    skis = len(Player.skis)
    for i in Player.sledges:
        sledges += Player.sledges[i]
    capacity = skis + sledges
    return capacity 
self.players = []
然后有一种方法将球员添加到团队中,如中所示:

def get_transport_capacity(self):
    skis = len(Player.skis)
    for i in Player.sledges:
        sledges += Player.sledges[i]
    capacity = skis + sledges
    return capacity 
def add_player(self, player):
     # ensure optionally that player is a PLayer instance
     assert type(player) == Player
     self.players += player
而不是

def get_transport_capacity(self):
    skis = len(Player.skis)
    for i in Player.sledges:
        sledges += Player.sledges[i]
    capacity = skis + sledges
    return capacity 
self.players = [Player]
为什么不:

def get_transport_capacity(self):
    skis = len(Player.skis)
    for i in Player.sledges:
        sledges += Player.sledges[i]
    capacity = skis + sledges
    return capacity 
self.players = []
然后有一种方法将球员添加到团队中,如中所示:

def get_transport_capacity(self):
    skis = len(Player.skis)
    for i in Player.sledges:
        sledges += Player.sledges[i]
    capacity = skis + sledges
    return capacity 
def add_player(self, player):
     # ensure optionally that player is a PLayer instance
     assert type(player) == Player
     self.players += player
用法:

def get_transport_capacity(self):
    skis = len(Player.skis)
    for i in Player.sledges:
        sledges += Player.sledges[i]
    capacity = skis + sledges
    return capacity 
a = Player('AName', 2)
b = Player('BName', 11)
team = Team('TeamName', [a, b])
用法:

def get_transport_capacity(self):
    skis = len(Player.skis)
    for i in Player.sledges:
        sledges += Player.sledges[i]
    capacity = skis + sledges
    return capacity 
a = Player('AName', 2)
b = Player('BName', 11)
team = Team('TeamName', [a, b])

您应该返回什么
get\u transport\u capacity
?请正确缩进您的代码。现在,它无效。应该返回什么
get\u transport\u capacity
?请正确缩进代码。现在,它是无效的。
index=sum(list(lambda p:p.index,self.players))
假设做什么?也许您想键入
sum(list(map(lambda p:p.index,self.players))
index=sum(list(lambda p:p.index,self.players))应该做什么?也许您想键入
sum(list(map(lambda p:p.index,self.players))