Moved word filter
[cas-master-teacher-training.git] / .ipynb_checkpoints / hangman-guesser-checkpoint.ipynb
1 {
2 "metadata": {
3 "name": "",
4 "signature": "sha256:576842385a8db766a7dd158b6bf837c2e7ee16dd3fc6409d40e92cc57bfaacb3"
5 },
6 "nbformat": 3,
7 "nbformat_minor": 0,
8 "worksheets": [
9 {
10 "cells": [
11 {
12 "cell_type": "code",
13 "collapsed": false,
14 "input": [
15 "import string\n",
16 "import collections"
17 ],
18 "language": "python",
19 "metadata": {},
20 "outputs": [],
21 "prompt_number": 1
22 },
23 {
24 "cell_type": "code",
25 "collapsed": false,
26 "input": [
27 "letter_counts = collections.Counter(l.lower() for l in open('sherlock-holmes.txt').read() if l in string.ascii_letters)\n",
28 "letter_counts"
29 ],
30 "language": "python",
31 "metadata": {},
32 "outputs": [
33 {
34 "metadata": {},
35 "output_type": "pyout",
36 "prompt_number": 4,
37 "text": [
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})"
39 ]
40 }
41 ],
42 "prompt_number": 4
43 },
44 {
45 "cell_type": "code",
46 "collapsed": false,
47 "input": [
48 "letters_in_order = [p[0] for p in letter_counts.most_common()]\n",
49 "letters_in_order"
50 ],
51 "language": "python",
52 "metadata": {},
53 "outputs": [
54 {
55 "metadata": {},
56 "output_type": "pyout",
57 "prompt_number": 9,
58 "text": [
59 "['e',\n",
60 " 't',\n",
61 " 'a',\n",
62 " 'o',\n",
63 " 'i',\n",
64 " 'h',\n",
65 " 'n',\n",
66 " 's',\n",
67 " 'r',\n",
68 " 'd',\n",
69 " 'l',\n",
70 " 'u',\n",
71 " 'm',\n",
72 " 'w',\n",
73 " 'c',\n",
74 " 'y',\n",
75 " 'f',\n",
76 " 'g',\n",
77 " 'p',\n",
78 " 'b',\n",
79 " 'v',\n",
80 " 'k',\n",
81 " 'x',\n",
82 " 'j',\n",
83 " 'q',\n",
84 " 'z']"
85 ]
86 }
87 ],
88 "prompt_number": 9
89 },
90 {
91 "cell_type": "code",
92 "collapsed": false,
93 "input": [
94 "def read_game():\n",
95 " discovered = input('Enter the discovered word: ')\n",
96 " missed = input('Enter the wrong guesses: ')\n",
97 " guessed_letters = [l.lower() for l in discovered + missed if l in string.ascii_letters]\n",
98 " unguessed_letters_in_order = ordered_subtract(letters_in_order, guessed_letters)\n",
99 " print('My guess is:', unguessed_letters_in_order[0])"
100 ],
101 "language": "python",
102 "metadata": {},
103 "outputs": [],
104 "prompt_number": 10
105 },
106 {
107 "cell_type": "code",
108 "collapsed": false,
109 "input": [
110 "def ordered_subtract(ordered_list, to_remove):\n",
111 " for r in to_remove:\n",
112 " if r in ordered_list:\n",
113 " ordered_list.remove(r)\n",
114 " return ordered"
115 ],
116 "language": "python",
117 "metadata": {},
118 "outputs": [],
119 "prompt_number": 13
120 },
121 {
122 "cell_type": "code",
123 "collapsed": false,
124 "input": [
125 "letters_in_order"
126 ],
127 "language": "python",
128 "metadata": {},
129 "outputs": [
130 {
131 "metadata": {},
132 "output_type": "pyout",
133 "prompt_number": 12,
134 "text": [
135 "['e',\n",
136 " 't',\n",
137 " 'a',\n",
138 " 'o',\n",
139 " 'i',\n",
140 " 'h',\n",
141 " 'n',\n",
142 " 's',\n",
143 " 'r',\n",
144 " 'd',\n",
145 " 'l',\n",
146 " 'u',\n",
147 " 'm',\n",
148 " 'w',\n",
149 " 'c',\n",
150 " 'y',\n",
151 " 'f',\n",
152 " 'g',\n",
153 " 'p',\n",
154 " 'b',\n",
155 " 'v',\n",
156 " 'k',\n",
157 " 'x',\n",
158 " 'j',\n",
159 " 'q',\n",
160 " 'z']"
161 ]
162 }
163 ],
164 "prompt_number": 12
165 },
166 {
167 "cell_type": "code",
168 "collapsed": false,
169 "input": [
170 "ordered_subtract(letters_in_order, ['etaoin'])"
171 ],
172 "language": "python",
173 "metadata": {},
174 "outputs": []
175 }
176 ],
177 "metadata": {}
178 }
179 ]
180 }