Question
Word search game! Write a program (in python) that can solve a word search given to it in the form of a two-dimensional array. The
Word search game!
Write a program (in python) that can solve a word search given to it in the form of a two-dimensional array.
The number of cases is how many array/word sets you should expect
You will then print out the start and end positions for the word if it is found, and if the word is not found (does not exist in the array), you must report that to the user.
For example, if your main program receives the following standard input:
1 5 5 r g p g p k p o f z q d x s t v y r y j e w y t e dog
...you should print out the following:
Searching for "dog" in matrix 0 yields: Start pos: (2, 1) to End pos: (0, 3)
Similarly, if your program receives the following input:
1 5 5 r g p g p k p o f z q d x s t v y r y j e w y t e cat
...you should print out the following:
Searching for "cat" in matrix 0 yields: The pattern was not found.
Here's what I have so far, I need help with getting the starting and ending positions.
def build_matrix(rows, cols): matrix = [] for i in range(rows): matrix.append([])
for user_char in matrix: user_data = input() x = user_data.split() for j in range(cols): user_char.append(x[j]) return matrix
def matrix_search(r, c, word, mat): for i in range(0, len(word)): for j in range(0, r): for k in range(0, c): if mat[j][k] == word[i]: break if i == 0: start = mat[j][k] elif i == len(word) - 1: end = mat[j][k] else: return None
return start, end
def main() -> None: test_case = int(input()) for num in range(test_case): space = input() rows_cols = input() split = rows_cols.split() rows = int(split[0]) cols = int(split[1]) word_search = build_matrix(rows, cols) word = input() match = matrix_search(rows, cols, word, word_search) if match is None: print('Searching for "' + word + '" in matrix', num, "yields:") print("The pattern was not found.") else: i, j = match print('Searching for "' + word + '" in matrix', num, "yields:") print("Start pos: ({0}, {1}) to End pos: ()".format(i, j))
if __name__ == "__main__": main()
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started