我有一个名为House的类,我想制作一些实例,这些实例将以可视化方式排列在网格中:
class House(object):
def __init__(self, row, col):
self.row = row
self.col = col
self.rooms = 0
我想按行和列遍历这个网格中House的所有实例:
for row in range(GRIDHEIGHT):
for col in range(GRIDWIDTH):
thisHouse = House()
thisHouse.row = row
thisHouse.col = col
在后面的代码中,我想通过已创建的实例进行循环。。。你知道吗
for row in range(GRIDHEIGHT):
for col in range(GRIDWIDTH):
??? something something ???
if thisHouse.room =< 1:
do stuff
else:
thisHouse.room = +1
etc
那个“?”???有什么吗在那里我不知道如何继续,不知何故,这所房子的实例必须搜查(通过thisHouse.row公司以及这个房子.col我应该认为)直到与网格高度和网格宽度中的行和列匹配,希望这是有意义的。我不知道如何做到这一点,到目前为止的研究表明,目录()可能是有用的,但似乎显示的属性,但不是属性的内容。你知道吗
也许“?”???有什么吗应该是。。。你知道吗
for thisHouse.row = row and thisHouse.col = col:
但我不认为这会奏效。我在这里大修了一大块代码,所以现在不能只测试这一点,所以建议感谢。你知道吗
IIUC,你想达到的目标是:
或者,也可以使用双嵌套词典:
可通过
houses[(col, row)]
或houses[col][row]
进入相关房屋:你为什么不把问题翻过来?将网格信息存储在房屋上,而不是将房屋/对象信息存储在网格上。 你可以有一个代表网格的二维数组,然后在每个单元格,你有你想要的信息,也就是在那个单元格中的对象,这取决于你是否有一个对象的通用集合,或者像字典一样把它们分开,在那里你有房子,宠物,汽车的标签。你知道吗
一些psudo代码:
当然,如果你对你想做的事情有更深入的了解,你可以优化你在单元格内的搜索,比如:
当然,您仍然可以在house类中保存坐标信息。 以这种方式放置数据,即使分布不均匀,也可以很容易地遍历房屋,还可以进行查找邻居等操作
相关问题 更多 >
编程相关推荐