2013-03-13 63 views
0

Python版本3.3W /集錦IDEPython對象包含另一個對象的列表拋出AttributeError的

我教自己的Python在我在工作閒暇時間,所以我決定重新建立一個撲克遊戲,我和朋友玩。爲了方便對不同功能的各種調用,我創建了兩個對象。一個對象包含整個遊戲的數據GameData,第二個對象包含一個玩家,我試圖添加到GameData中。

下面的代碼迴路和嘗試播放器添加到GAMEDATA清單,但我得到一個錯誤,指出:

AttributeError的:對象類型「GAMEDATA」有沒有屬性「玩家」

class Player(object): 
    def __init__(self, seat): 
     self.seat = seat 
     self.chips = 0 
     self.wins = 0 
     self.card = 0 
     self.isDealer = False 

class GameData(object): 
    def __init__(self): 
     self.games = 0 
     self.numPlayers = 0 
     self.chips = 0 
     self.players = [] 
     self.deck = [] 

的下面的函數會拋出錯誤

def testDealCards(): 
    gd = nuts.GameData #declare GameData object 
    gd.deck = [7,5,5,5,3,1,5,6,1,2] #assign values to deck list 
    for x in range(2): #loop to create player objects in GameData 
     gd.players.append(Player) 
    gd.players[0].isDealer = True 
    gd.players[1].isDealer = False 
    print(gd.players) 
    nuts.dealCards(gd) 
    assert gd.players[0].card == 5 
    assert gd.players[1].card == 7 
    pass 

回答

1

您正在訪問GameData類類型,而不是創建對象。

試試這個:

gd = nuts.GameData() 
+0

這是問題!現在感覺有點羞怯:) – n0manarmy 2013-03-14 11:42:11

相關問題