--- /dev/null
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:576842385a8db766a7dd158b6bf837c2e7ee16dd3fc6409d40e92cc57bfaacb3"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import string\n",
+ "import collections"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "letter_counts = collections.Counter(l.lower() for l in open('sherlock-holmes.txt').read() if l in string.ascii_letters)\n",
+ "letter_counts"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 4,
+ "text": [
+ "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})"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "letters_in_order = [p[0] for p in letter_counts.most_common()]\n",
+ "letters_in_order"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 9,
+ "text": [
+ "['e',\n",
+ " 't',\n",
+ " 'a',\n",
+ " 'o',\n",
+ " 'i',\n",
+ " 'h',\n",
+ " 'n',\n",
+ " 's',\n",
+ " 'r',\n",
+ " 'd',\n",
+ " 'l',\n",
+ " 'u',\n",
+ " 'm',\n",
+ " 'w',\n",
+ " 'c',\n",
+ " 'y',\n",
+ " 'f',\n",
+ " 'g',\n",
+ " 'p',\n",
+ " 'b',\n",
+ " 'v',\n",
+ " 'k',\n",
+ " 'x',\n",
+ " 'j',\n",
+ " 'q',\n",
+ " 'z']"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "def read_game():\n",
+ " discovered = input('Enter the discovered word: ')\n",
+ " missed = input('Enter the wrong guesses: ')\n",
+ " guessed_letters = [l.lower() for l in discovered + missed if l in string.ascii_letters]\n",
+ " unguessed_letters_in_order = ordered_subtract(letters_in_order, guessed_letters)\n",
+ " print('My guess is:', unguessed_letters_in_order[0])"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "def ordered_subtract(ordered_list, to_remove):\n",
+ " for r in to_remove:\n",
+ " if r in ordered_list:\n",
+ " ordered_list.remove(r)\n",
+ " return ordered"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "letters_in_order"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 12,
+ "text": [
+ "['e',\n",
+ " 't',\n",
+ " 'a',\n",
+ " 'o',\n",
+ " 'i',\n",
+ " 'h',\n",
+ " 'n',\n",
+ " 's',\n",
+ " 'r',\n",
+ " 'd',\n",
+ " 'l',\n",
+ " 'u',\n",
+ " 'm',\n",
+ " 'w',\n",
+ " 'c',\n",
+ " 'y',\n",
+ " 'f',\n",
+ " 'g',\n",
+ " 'p',\n",
+ " 'b',\n",
+ " 'v',\n",
+ " 'k',\n",
+ " 'x',\n",
+ " 'j',\n",
+ " 'q',\n",
+ " 'z']"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "ordered_subtract(letters_in_order, ['etaoin'])"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file