创建并将类实例排列到网格中

mat*_*gan 1 python loops class data-structures

我想将Room类的实例安排到网格中以便在游戏中使用.这是班级:

class Room:
    def __init__(self, name, x, y):
        self.name = name
        self.pos = (x, y)
Run Code Online (Sandbox Code Playgroud)

将x和y值分配给实例的最佳方法是什么,以便两个实例的位置不相同,坐标类似于3x3网格?

Jul*_*ian 5

import itertools
for i, j in itertools.product(xrange(3), repeat=2):
    room = Room("%s %s" % (i, j), i, j)
Run Code Online (Sandbox Code Playgroud)

干杯.

  • [itertools.product](http://docs.python.org/library/itertools.html#itertools.product)是给定iterables的笛卡尔积.你熟悉吗? (3认同)
  • @ tolo1377你听说过笛卡尔积吗?此链接也可能有所帮助:http://docs.python.org/library/itertools.html#itertools.product (2认同)