Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #removes all words from guess list that share a letter with the word
- def removeCharsFromGuessList(word,guesses):
- sguesses = guesses.copy()
- for char in word:
- i = 0
- while i < len(sguesses):
- if char in sguesses[i]:
- del sguesses[i]
- else:
- i += 1
- return sguesses
- #removes all guesses with any double letter
- #uses while loops because it's removing elements from the list while itterating through it
- def twentyFiveList():
- fguesses = pguesses.copy() #pguesses is a list of every valid guess
- #remove all words with a double letter
- i = 0
- while i < len(fguesses):
- for char in fguesses[i]:
- if fguesses[i].count(char) > 1:
- del fguesses[i]
- i -= 1
- break
- i += 1
- return fguesses
- #get all possible 5 word combos that use all 25 letters
- def possibleCombos():
- combos = []
- guesses = twentyFiveList()
- wordsDone = 0
- numGuesses = len(guesses)
- #first
- for first in guesses:
- wordsDone += 1
- print('Current word: ' + str(wordsDone) + "/" + str(numGuesses) + " " + first, end='\r')
- #remove guesses that precede the current guess
- sguesses = guesses[guesses.index(first)+1:]
- #remove all guesses sharing a letter
- sguesses = removeCharsFromGuessList(first,sguesses)
- if len(sguesses) > 0:
- #second
- for second in sguesses:
- tguesses = sguesses[sguesses.index(second)+1:]
- tguesses = removeCharsFromGuessList(second,tguesses)
- if len(tguesses) > 0:
- #third
- for third in tguesses:
- fguesses = tguesses[tguesses.index(third)+1:]
- fguesses = removeCharsFromGuessList(third,fguesses)
- if len(fguesses) > 0:
- #fourth
- for fourth in fguesses:
- figuesses = fguesses[fguesses.index(fourth)+1:]
- figuesses = removeCharsFromGuessList(fourth,figuesses)
- if len(figuesses) > 0:
- for fifth in figuesses:
- print([first,second,third,fourth,fifth])
- combos.extend([first,second,third,fourth,fifth])
Advertisement
Add Comment
Please, Sign In to add comment