Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update of rotate_pairs #70

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

DavidVFitzGerald
Copy link

Addresses issue #69

The current version of the rotate_pairs function does not check for all rotated words, due to the stop argument of the range being 14 instead of 26. For example, the word "act" should print out "act 24 yar", but currently does not print out anything.

Replacing 14 by 26 would fix this.

However, as the current solution proposes a somewhat brute force approach, my suggested solution uses a different approach, where each word is rotated only once. It also makes use of a dictionary to store the rotate pairs, by using the setdefault method covered in Exercise 11.2.

This suggested solution directly addresses the specification of the exercise description ("Write a program that reads a wordlist and finds all the rotate pairs."). Only the word_list needs to be provided as argument, and a list containing lists with all rotate pairs is returned. Each word is thus contained only once in the returned list of lists.

Since my suggested approach does not need to check for the presence of a word in the list of words, the words can be provided simply as a list instead of a dict.

Feel free to edit my suggested solution in any way you'd like.

The current solution does not check for all rotated words, due to the stop argument of the range being 14 instead of 26 in the rotate_pairs function. For example, the word "act" should print out "act 24 yar", but currently does not print out anything.

As the current solution uses a somewhat brute force approach, my suggested solution uses a different approach, where each word is rotated only once. It also makes use of a dictionary to store the rotate pairs, by using the setdefault method covered in Exercise 11.2.

This suggested solution also directly addresses the specification of the exercise description ("Write a program that reads a wordlist and finds all the rotate pairs."). Only the word_list needs to be provided as argument, and a list containing lists with all rotate pairs is returned. Each word is thus contained only once in the returned list of lists.

Since the suggested approach does not need to check for the presence of a word in the list of words, the words can be provided simply as a list instead of a dict.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant