のdictionariesセクションを見てみなければならない素晴らしいスタートに私を降りたこと、あなたが助けるためにそんなにありがとう。ちょうど もう1つ質問がありますが、私は1つの有効な家で始まり、すべて の可能なパスをチェックしています。その後、別の家に移動して、その上の道を にチェックしなければなりません。どのように私は無限ループを取得しないようにするか、または 家屋のチェックをもう一度チェックしますか?各家の中を行く、今
houses = [House((1,3)), House((3,3)), House((4,3))] # a list of houses
、およびそのパス(複数可)caculate:
class House(object):
def __init__(self, pos):
self.pos = pos # the coordinates (position) on the grid, a tuple
self.paths = [] # Empty array to hold paths
は、いくつかの家を作成します。
そのグリッド座標で、 "ハウス" クラスを作成します。
paths = {}
paths[(1,3)] = [(2,3), (4,3) ... ] # possible paths to the point (1,3)
for i in houses:
try:
i.paths = paths[(i.pos)]
except KeyError:
print "I don't know how to get to ", i.pos
リストをステップすると、e 1回だけ家に帰る。今すぐあなたは到達不能な家を見つけることができます:
for i in houses:
if not i.paths:
print "I did not find a way to reach the house at ",i.pos
質問ごとに1つ質問してください。すでに回答が投稿された後、新しい質問を追加するように質問を編集するのは面倒です。 –