4 "signature": "sha256:ec76c8912af009e1d51e1d840d9f295e2df8755e6278243cce7b6584e2ed1a24"
27 "letter_counts = collections.Counter(l.lower() for l in open('sherlock-holmes.txt').read() if l in string.ascii_letters)\n",
35 "output_type": "pyout",
38 "Counter({'e': 53111, 't': 38981, 'a': 35137, 'o': 33512, 'i': 30140, 'h': 29047, 'n': 28682, 's': 27194, 'r': 24508, 'd': 18563, 'l': 17145, 'u': 13116, 'm': 11787, 'w': 11266, 'c': 10499, 'y': 9431, 'f': 8975, 'g': 7887, 'p': 6835, 'b': 6362, 'v': 4452, 'k': 3543, 'x': 549, 'j': 452, 'q': 426, 'z': 149})"
48 "letters_in_order = [p[0] for p in letter_counts.most_common()]\n",
56 "output_type": "pyout",
94 "def make_guess():\n",
95 " guessed_letters = read_game()\n",
96 " unguessed_letters_in_order = ordered_subtract(letters_in_order, guessed_letters)\n",
97 " print('My guess is:', unguessed_letters_in_order[0])"
108 "def read_game():\n",
109 " discovered = input('Enter the discovered word: ')\n",
110 " missed = input('Enter the wrong guesses: ')\n",
111 " return [l.lower() for l in discovered + missed if l in string.ascii_letters]"
113 "language": "python",
122 "def ordered_subtract(ordered_list, to_remove):\n",
123 " for r in to_remove:\n",
124 " if r in ordered_list:\n",
125 " ordered_list.remove(r)\n",
126 " return ordered_list"
128 "language": "python",
139 "language": "python",
144 "output_type": "pyout",
182 "ordered_subtract(letters_in_order, 'etaoin')"
184 "language": "python",
189 "output_type": "pyout",
223 "language": "python",
228 "output_type": "pyout",
260 "def ordered_subtract(ordered_list, to_remove):\n",
261 " for r in to_remove:\n",
262 " if r in ordered_list:\n",
263 " ri = ordered_list.index(r)\n",
264 " ordered_list = ordered_list[:ri] + ordered_list[ri+1:]\n",
265 " return ordered_list"
267 "language": "python",
276 "letters_in_order = [p[0] for p in letter_counts.most_common()]\n",
279 "language": "python",
284 "output_type": "pyout",
322 "ordered_subtract(letters_in_order, 'etaoin')"
324 "language": "python",
329 "output_type": "pyout",
363 "language": "python",
368 "output_type": "pyout",
408 "language": "python",
413 "output_type": "stream",
416 "Enter the discovered word: _a__y\n"
421 "output_type": "stream",
424 "Enter the wrong guesses: eit\n"
428 "output_type": "stream",
441 "language": "python",