2010-03-16 35 views
-1

我有一个Club类和一个Player类。玩家类别有一个属性Fav.clubs,它将拥有独特的俱乐部价值。所以用户应该输入各种俱乐部名称。基于俱乐部名称,我必须检索这些俱乐部对象,并建立这个特定球员的这种关系Fav.clubs组织Python对象进行检索

属性Fav.clubsPlayer类中应该存储Club的名称。现在我要做的就是从用户那里获得关于Fav.clubs(列表)的信息。之后遍历列表中的每个元素并访问字符串名称以查找相应的club对象,然后将该对象实例存储在Player类中。

+2

1.难以解析的运行段落。 2.没有我能找到的实际问题。听起来像功课。请打破这个,所以我们可以解析它。请提出一个明确的问题。请用[作业]标签标记家庭作业。 – 2010-03-16 10:09:43

+0

好的不知道这件事..感谢让我知道 – gizgok 2010-03-16 11:32:56

+1

@gizgok:没有意识到运行段?不知道有没有问题?不知道你必须做自己的功课吗?这听起来很刺耳,因为它是。请做你自己的作业。 – 2010-03-16 12:35:54

回答

1

存储在一个名为all_clubs字典中的所有俱乐部。关键应该是俱乐部名称和俱乐部对象本身的价值。然后,您可以执行all_clubs[clubname]来检索给定名称的俱乐部对象。

玩家可能有一个属性club_names这是你所描述的唯一名称和属性clubs的列表,它可能是这样的:

class Player(object): 
    # ... 

    @property 
    def clubs(self): 
     result = [] 
     for name in self.club_names: 
      result.append(all_clubs.get(name)) 
     return result 

或者,也可能是使用一个好主意像sqlalchemy这样的ORM工具和一个简单的基于文件或内存的sqlite数据库。然后你就拥有了SQL的强大功能和非常好的关系映射。但是如果你是Python的新手,我不会使用类似的东西,因为sqlalchemy是一个相当复杂的主题,并且映射在后台使用了一些python魔术,在开始时你可能不会理解。因此,我会建议第一种方法。

+0

问题是我在做UI.o在播放器类中我问用户输入fav.clubs.I不知道如何使用raw_input制作字典,但知道如何做一个list.so我做了一个列表,现在我检查俱乐部类has_key ....现在我想检索这个对象 和将此对象存储在列表或字典中的播放器类中 – gizgok 2010-03-16 08:28:37

+0

我已经解释过的方法要求您调用UI方法来添加新的俱乐部,并要求用户输入俱乐部名称(以及所有其他详细信息,如位置? ,领导?等)在俱乐部对象h之后的'all_clubs [clubname] = club'已创建。 对于玩家本身,您只需输入club_names的值,该值应该是一个列表。你可以使用'raw_input()。split(',')'来从用户输入中生成这个列表。 这两个类的连接是在属性中完成的。 'Player.clubs'是一个包含所有在'Player.club_names'中命名的Club对象的列表。 – tux21b 2010-03-16 09:25:45

0

使用dict存储的Club字符串和实例之间的映射:

clubmap = { 
    'basketball': Club("Basketball club"), 
    'chess': Club("Chess club"), 
} 

someplayer.joinclub(clubmap['basketball']) 
+0

问题是我在制作UI.So在播放器类中我要求用户输入fav.clubs.I不知道如何使用raw_input制作字典,但知道如何制作一个list.so我做了一个列表,现在我检查俱乐部类has_key ....现在我想检索这个对象,并将其存储在播放器类中的列表或字典 – gizgok 2010-03-16 08:28:47