Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- wordfile = open("C:\\Users\\Joe\\Documents\\Python Code\\20k.txt", "r")
- answerwords = []
- allwords = []
- for line in wordfile:
- line = line.lower()
- line = line.strip()
- allwords.append(line)
- print("loaded google 20k")
- wordfile.close()
- wordfile = open("C:\\Users\\Joe\\Documents\\Python Code\\english.txt", "r")
- for line in wordfile:
- line = line.lower()
- line = line.strip()
- allwords.append(line)
- print("loaded 450k")
- wordfile.close()
- wordfile = open("C:\\Users\\Joe\\Documents\\Python Code\\british.txt", "r")
- for line in wordfile:
- line = line.lower()
- line = line.strip()
- allwords.append(line)
- print("loaded british 56k")
- wordfile.close()
- def wordwithletters(avl_letters, word):
- temp_avl_letters = avl_letters[:]
- hits = 0
- if(len(word)>len(avl_letters)): #pretest
- return(False)
- for letter in word:
- try:
- temp_avl_letters.remove(str(letter))
- hits +=1
- except ValueError:
- break
- if hits == len(word): #then it only uses letters in the available letter
- return(True)
- def getletters():
- avl_letters = []
- user_letter = 8
- user_letters = input("Enter all available letters:")
- for letter in user_letters:
- avl_letters.append(letter)
- return(avl_letters)
- def myFunc(e):
- return len(e)
- avl_letters = getletters()
- for word in allwords:
- if (len(word)>=3):
- if wordwithletters(avl_letters, word):
- answerwords.append(word)
- answerwords.sort(reverse=True,key=myFunc) #sort by word length, longest first
- answerwords = list( dict.fromkeys(answerwords) ) #remove all duplicates
- print(answerwords)
- print(avl_letters)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement