2010-03-16 62 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