2012-05-28 37 views
0

我有這個代碼,我想要做的是調用顯示功能,但它給了我錯誤。這是代碼:我在課堂上有一個「屬性」。當我打電話時,它說它沒有這個屬性

level = [0, 0, 0, 
     0, 1, 0, 
     0, 0, 0] 

class player: 
    def getPlayerLoc(self, level): 
     for i in level: 
      if level[level.index(i)] == 1: 
       print level.index(i) 

    def display(self, level, levelx, levely): 
     for i in level: 
      layer = "" 
      for h in range(levely): 
       height = h+1 
       if level.index(i) < levelx*height and level.index(i) >= levelx*h: 
        if level[level.index(i)] == 0: 
         layer = layer + " - " 
        elif level[level.index(i)] == 1: 
         layer = layer + " O " 

       if height == levely: 
        print layer 
        layer = "" 

p1 = player() 
p1.getPlayerLoc(level) 
p1.display(level, 3, 3) 

,輸出是:

4 
Traceback (most recent call last): 
    File "gamy.py", line 28, in <module> 
    p1.display(level, 3, 3) 
AttributeError: player instance has no attribute 'display' 

這是很奇怪的,因爲它得到的屬性getPlayerLoc,但不顯示。請幫忙!

+4

我不知道你的縮進是否搞砸了。代碼適用於我 – jgritty

+0

它在這裏工作正常,沒有錯誤。 –

+0

@Plazmotech Binary請參閱http://ideone.com/qTMwo –

回答

1

也許你有一些縮進問題。 可能會啓用您的ide中的「顯示空白」功能。

嘗試將上面的display-method移動到getPlayerLoc上面。 如果getPlayerLoc失敗,它將指示一個縮進錯誤。

相關問題