diff --git a/README.md b/README.md index cd84e3b..9e9ba6a 100644 --- a/README.md +++ b/README.md @@ -3,24 +3,52 @@ this python app will find every possible combination and permutation (power sets ### MacOS: ##### install virtualenv ->python -m pip install --user virtualenv +`python -m pip install --user virtualenv` ##### create python virtual environment ->python -m venv env +`python -m venv env` ##### activate virtual environment ->source env/bin/activate +`source env/bin/activate` ##### verify ->which python +`which python` ##### install modules ->pip install enchant + +`pip install enchant` ##### run anagrams solver ###### make sure default python symlink is mapped to python3 (else use python3) ->python app.py +`python app.py` ##### deactivate environment ->deactivate +`deactivate` + +### Windows OS: +##### install virtualenv +`pip install virtualenv` + +##### create python virtual environment +`vertualenv env` + +##### activate virtual environment +`env\scripts\activate` + +##### verify +``` +python --version +help(pyenchant) +``` + +##### install modules + +`pip install pyenchant` + +##### run anagrams solver +###### make sure default python symlink is mapped to python3 (else use python3) +`python app.py` + +##### deactivate environment +`deactivate` diff --git a/app.py b/app.py index 7277b18..0edd3e3 100644 --- a/app.py +++ b/app.py @@ -39,27 +39,29 @@ def checkifword(word): print("Anagrams Solver App") -letters = input("What 6 letters are you given? ") +letters = input("What 6 letters are you given? ") +if len(letters)<=6: #append all possible outcomes to list -allCombinations.append(letters) -for i in range(6): - five_listed_letters = list(letters) - five_listed_letters.pop(i), five_listed_letters - allCombinations.append(five_listed_letters) - for x in range(5): - four_listed_letters = list.copy(five_listed_letters) - four_listed_letters.pop(x), four_listed_letters - allCombinations.append(four_listed_letters) - for y in range(4): - three_listed_letters = list.copy(four_listed_letters) - three_listed_letters.pop(y), three_listed_letters - allCombinations.append(three_listed_letters) - for z in range(3): - two_listed_letters = list.copy(three_listed_letters) - two_listed_letters.pop(z), two_listed_letters - allCombinations.append(two_listed_letters) - + allCombinations.append(letters) + for i in range(6): + five_listed_letters = list(letters) + five_listed_letters.pop(i), five_listed_letters + allCombinations.append(five_listed_letters) + for x in range(5): + four_listed_letters = list.copy(five_listed_letters) + four_listed_letters.pop(x), four_listed_letters + allCombinations.append(four_listed_letters) + for y in range(4): + three_listed_letters = list.copy(four_listed_letters) + three_listed_letters.pop(y), three_listed_letters + allCombinations.append(three_listed_letters) + for z in range(3): + two_listed_letters = list.copy(three_listed_letters) + two_listed_letters.pop(z), two_listed_letters + allCombinations.append(two_listed_letters) +else: + raise Exception("Length of the Entered String exceeds 6 ") #sort out duplicates in list for i in allCombinations: