From 87a385d98c4aeddbf53d7360f79056bf4bf49c6d Mon Sep 17 00:00:00 2001 From: cdez Date: Sat, 15 Feb 2025 00:57:04 -0700 Subject: [PATCH] Finished creating the dictionary of dictionaries to have all paths with their child nodes. --- RouteFinding/05_tests.py | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/RouteFinding/05_tests.py b/RouteFinding/05_tests.py index 3f65ca3..f0b45c2 100644 --- a/RouteFinding/05_tests.py +++ b/RouteFinding/05_tests.py @@ -33,8 +33,28 @@ class Searcher: nodeLoc[mapContents[nodeIter][1]] = tuple((mapContents[nodeIter][5], mapContents[nodeIter][6])) # however, this is only taking the first node path it gets to... # I probably need a list instead, that gets updated if the node is not in the node's child list. - nodePaths[mapContents[nodeIter][0]] = tuple((mapContents[nodeIter][1], mapContents[nodeIter][2])) - print(nodeLoc) + # check if the key exists, if it does, then add the value to the internal dictionary, + # if the internal dictionary doesn't exist, then create it and add the node. + if mapContents[nodeIter][0] not in nodePaths.keys(): + nodePaths[mapContents[nodeIter][0]] = dict() + nodePaths[mapContents[nodeIter][0]][mapContents[nodeIter][1]] = mapContents[nodeIter][2] + else: + if nodePaths[mapContents[nodeIter][0]].values() not in nodePaths[mapContents[nodeIter][0]].keys(): + nodePaths[mapContents[nodeIter][0]][mapContents[nodeIter][1]] = dict() + nodePaths[mapContents[nodeIter][0]][mapContents[nodeIter][1]] = mapContents[nodeIter][2] + else: + nodePaths[mapContents[nodeIter][0]][mapContents[nodeIter][1]] = mapContents[nodeIter][2] + if mapContents[nodeIter][1] not in nodePaths.keys(): + nodePaths[mapContents[nodeIter][1]] = dict() + nodePaths[mapContents[nodeIter][1]][mapContents[nodeIter][0]] = mapContents[nodeIter][2] + else: + if nodePaths[mapContents[nodeIter][1]].values() not in nodePaths[mapContents[nodeIter][1]].keys(): + nodePaths[mapContents[nodeIter][1]][mapContents[nodeIter][0]] = dict() + nodePaths[mapContents[nodeIter][1]][mapContents[nodeIter][0]] = mapContents[nodeIter][2] + else: + nodePaths[mapContents[nodeIter][1]][mapContents[nodeIter][0]] = mapContents[nodeIter][2] + + # print(nodeLoc) print(nodePaths) # (b) Show your program loading in the 30-node sample file.