我在课堂上有一个“属性”。当我打电话时,它说它没有那个属性

时间:2012-05-28 18:40:39

标签: python class function attributes

我有这个代码,我正在尝试做的是调用显示功能,但它给了我错误。这是代码:

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,但不显示。请帮忙!

1 个答案:

答案 0 :(得分:1)

也许你有一些问题。 可以启用ide中的“show whitespace”功能。

尝试将您的display-method移动到getPlayerLoc之上。 如果getPlayerLoc失败,则表示收到错误。

相关问题