Update dictionary type hinting

This commit is contained in:
2022-08-26 19:51:52 -04:00
parent 79486d4217
commit 28b3d56880
+4 -8
View File
@@ -58,7 +58,6 @@ class BoggleBoard:
# Generate BoardCell for each position on the board
for row in range(0, self.__height):
for col in range(0, self.__width):
#self.adjacency_dict[(row, col)] = self.__get_adjacent_indexes(row, col)
self.__board[(row, col)] = BoardCell(row, col, board[row][col])
# Update adjacent cell references for each BoardCell
@@ -115,7 +114,7 @@ class BoggleBoard:
class WordNode:
'''A node describing a single letter in a WordTree.'''
def __init__(self, letter: str, is_word: bool = False, parent: WordNode = None, children: dict[WordNode] = None, board_pos = None) -> WordNode:
def __init__(self, letter: str, is_word: bool = False, parent: WordNode = None, children: dict[str, WordNode] = None, board_pos = None) -> WordNode:
self.__letter = letter
self.__is_word = is_word
self.__children = children if children is not None else {}
@@ -137,7 +136,7 @@ class WordNode:
self.__is_word = value
@property
def children(self) -> dict[WordNode]:
def children(self) -> dict[str, WordNode]:
'''Getter for children property'''
return self.__children
@@ -212,14 +211,14 @@ class WordTree:
return self.__max_word_len
@property
def tree(self) -> dict[str]:
def tree(self) -> dict[str, WordNode]:
'''Getter for tree property'''
return self.__tree
def __str__(self):
return ", ".join(self.wordlist)
def insert_letter(self, letter: str, parent: WordNode, is_word: bool = False, children: dict[WordNode] = None, board_pos = None):
def insert_letter(self, letter: str, parent: WordNode, is_word: bool = False, children: dict[str, WordNode] = None, board_pos = None):
'''Create WordNode for `letter` and into WordTree under `parent`'''
node = WordNode(letter, is_word, parent, children, board_pos)
parent.add_child_node(node)
@@ -302,7 +301,6 @@ def build_full_boggle_tree(board: BoggleBoard, wordlist_path: str) -> dict[str,
index = {}
print("Reading in wordlists...")
# alphabet = "abcdefghijklmnopqrstuvwxyz"
for letter in alphabet:
filename = "words_" + letter + ".txt"
print(f">> {letter}: {filename}")
@@ -347,6 +345,4 @@ if __name__ == "__main__":
#b2_tree = WordTree("abcdefghijklmnopqrstuvwxyz", WordNode("a", False, board_pos=start_pos))
#sub_tree = sample_tree.build_boggle_tree(b2_board, b2_board.board[start_pos], b2_tree)
# TODO fix dict[value] type hints to dict[key, value]
boggle_tree = build_full_boggle_tree(b2_board, "wordlists/dwyl")