2011-10-25 11 views
0

が正常に動作し、私のクラス変数を取得することはできませんPythonの方法、起動することができません/

問題がある
class World: 
    def __init__(self, size): 
    self.size = size 
    self.grid = [] 
    for i in range(0,size): 
     self.grid.append([]) 
     for j in range(0,size): 
      self.grid[i].append(0) 
    def Display(self): 
    for row in self.grid: 
     print row 

TheWorld = World(int(raw_input("Input world size(integer): "))) 
TheWorld.Display 

、表示機能は何もしない、私はそれが適切self.gridを参照していないと思う呼び出しますどういうわけか。私は0,10,100として世界のサイズを入力し、違いはありません。何か案は ??ありがとう

+2

'range(0、size)'は 'range(size)'と変わらないことに注意してください。 –

+1

[list-comprehension](http://docs.python.org/tutorial/datastructures.html#list-comprehensions)を使用して 'grid'を初期化する必要があります:' self.grid = [[0未使用範囲(size )] for unused1 for range(size)] 'のようになります。 –

答えて

8

あなたは関数を呼び出すのではなく、単に関数オブジェクトを参照しています。試してください:

TheWorld.Display() 
1

これはVBAではありません。

TheWorld.Display() 
1

は、メソッドを呼び出すために括弧を追加します。私は()を使用して関数を呼び出す必要があります。実際に呼び出される関数は、

TheWorld.Display() 

とする必要があります。

3

さてあなたは、実際に表示機能を呼び出していないので、次のようになります。

TheWorld = World(int(raw_input("Input world size(integer): "))) 
TheWorld.Display() 
関連する問題