Guest User

5 word combo finder

a guest
Apr 19th, 2022
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.92 KB | None | 0 0
  1. #removes all words from guess list that share a letter with the word
  2. def removeCharsFromGuessList(word,guesses):
  3.     sguesses = guesses.copy()
  4.     for char in word:
  5.         i = 0
  6.         while i < len(sguesses):
  7.             if char in sguesses[i]:
  8.                 del sguesses[i]
  9.             else:
  10.                 i += 1
  11.     return sguesses
  12.  
  13. #removes all guesses with any double letter
  14. #uses while loops because it's removing elements from the list while itterating through it
  15. def twentyFiveList():
  16.     fguesses = pguesses.copy() #pguesses is a list of every valid guess
  17.     #remove all words with a double letter
  18.     i = 0
  19.     while i < len(fguesses):
  20.         for char in fguesses[i]:
  21.             if fguesses[i].count(char) > 1:
  22.                 del fguesses[i]
  23.                 i -= 1
  24.                 break
  25.         i += 1
  26.     return fguesses
  27.  
  28. #get all possible 5 word combos that use all 25 letters
  29. def possibleCombos():
  30.     combos = []
  31.     guesses = twentyFiveList()
  32.     wordsDone = 0
  33.     numGuesses = len(guesses)
  34.     #first
  35.     for first in guesses:
  36.         wordsDone += 1
  37.         print('Current word: ' + str(wordsDone) + "/" + str(numGuesses) + " " + first, end='\r')
  38.         #remove guesses that precede the current guess
  39.         sguesses = guesses[guesses.index(first)+1:]
  40.         #remove all guesses sharing a letter
  41.         sguesses = removeCharsFromGuessList(first,sguesses)
  42.         if len(sguesses) > 0:
  43.             #second
  44.             for second in sguesses:
  45.                 tguesses = sguesses[sguesses.index(second)+1:]
  46.                 tguesses = removeCharsFromGuessList(second,tguesses)
  47.                 if len(tguesses) > 0:
  48.                     #third
  49.                     for third in tguesses:
  50.                         fguesses = tguesses[tguesses.index(third)+1:]
  51.                         fguesses = removeCharsFromGuessList(third,fguesses)
  52.                         if len(fguesses) > 0:
  53.                             #fourth
  54.                             for fourth in fguesses:
  55.                                 figuesses = fguesses[fguesses.index(fourth)+1:]
  56.                                 figuesses = removeCharsFromGuessList(fourth,figuesses)
  57.                                 if len(figuesses) > 0:
  58.                                     for fifth in figuesses:
  59.                                         print([first,second,third,fourth,fifth])
  60.                                         combos.extend([first,second,third,fourth,fifth])
Advertisement
Add Comment
Please, Sign In to add comment