Advertisement
Guest User

Untitled

a guest
Aug 18th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. wordfile = open("C:\\Users\\Joe\\Documents\\Python Code\\20k.txt", "r")
  2. answerwords = []
  3. allwords = []
  4.  
  5. for line in wordfile:
  6. line = line.lower()
  7. line = line.strip()
  8. allwords.append(line)
  9. print("loaded google 20k")
  10. wordfile.close()
  11.  
  12. wordfile = open("C:\\Users\\Joe\\Documents\\Python Code\\english.txt", "r")
  13. for line in wordfile:
  14. line = line.lower()
  15. line = line.strip()
  16. allwords.append(line)
  17. print("loaded 450k")
  18. wordfile.close()
  19.  
  20. wordfile = open("C:\\Users\\Joe\\Documents\\Python Code\\british.txt", "r")
  21. for line in wordfile:
  22. line = line.lower()
  23. line = line.strip()
  24. allwords.append(line)
  25. print("loaded british 56k")
  26. wordfile.close()
  27.  
  28. def wordwithletters(avl_letters, word):
  29. temp_avl_letters = avl_letters[:]
  30. hits = 0
  31.  
  32. if(len(word)>len(avl_letters)): #pretest
  33. return(False)
  34.  
  35. for letter in word:
  36. try:
  37. temp_avl_letters.remove(str(letter))
  38. hits +=1
  39. except ValueError:
  40. break
  41.  
  42. if hits == len(word): #then it only uses letters in the available letter
  43. return(True)
  44.  
  45. def getletters():
  46. avl_letters = []
  47. user_letter = 8
  48.  
  49. user_letters = input("Enter all available letters:")
  50. for letter in user_letters:
  51. avl_letters.append(letter)
  52. return(avl_letters)
  53.  
  54. def myFunc(e):
  55. return len(e)
  56.  
  57.  
  58. avl_letters = getletters()
  59.  
  60. for word in allwords:
  61. if (len(word)>=3):
  62. if wordwithletters(avl_letters, word):
  63. answerwords.append(word)
  64.  
  65. answerwords.sort(reverse=True,key=myFunc) #sort by word length, longest first
  66.  
  67. answerwords = list( dict.fromkeys(answerwords) ) #remove all duplicates
  68.  
  69.  
  70. print(answerwords)
  71. print(avl_letters)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement