{
"metadata": {
"name": "",
- "signature": "sha256:e848b3bb14cbbc0d122596bd49c2e49d1d795881920f1f2a98206e14ff6b2b0a"
+ "signature": "sha256:5e9f030b42097ebbcce2654cdb1d9370fde38b61bdbfa85a0cc700e76d5a8a71"
},
"nbformat": 3,
"nbformat_minor": 0,
"language": "python",
"metadata": {},
"outputs": [],
- "prompt_number": 27
+ "prompt_number": 71
},
{
"cell_type": "code",
"language": "python",
"metadata": {},
"outputs": [],
- "prompt_number": 3
+ "prompt_number": 72
},
{
"cell_type": "code",
"language": "python",
"metadata": {},
"outputs": [],
- "prompt_number": 4
+ "prompt_number": 73
},
{
"cell_type": "code",
" self.game_lost = False\n",
" \n",
" def find_all(self, letter):\n",
- " locations = []\n",
- " starting=0\n",
- " location = self.target.find(letter)\n",
- " while location > -1:\n",
- " locations += [location]\n",
- " starting = location + 1\n",
- " location = self.target.find(letter, starting)\n",
- " return locations\n",
+ " return [p for p, l in enumerate(self.target) if l == letter]\n",
" \n",
" def update_discovered_word(self, guessed_letter):\n",
" locations = self.find_all(guessed_letter)\n",
"language": "python",
"metadata": {},
"outputs": [],
- "prompt_number": 24
+ "prompt_number": 74
},
{
"cell_type": "code",
"language": "python",
"metadata": {},
"outputs": [],
- "prompt_number": 6
+ "prompt_number": 75
},
{
"cell_type": "code",
{
"metadata": {},
"output_type": "pyout",
- "prompt_number": 7,
+ "prompt_number": 76,
"text": [
- "'gastronomy'"
+ "'strife'"
]
}
],
- "prompt_number": 7
+ "prompt_number": 76
},
{
"cell_type": "code",
{
"metadata": {},
"output_type": "pyout",
- "prompt_number": 8,
+ "prompt_number": 77,
"text": [
- "['_', '_', '_', '_', '_', '_', '_', '_', '_', '_']"
+ "['_', '_', '_', '_', '_', '_']"
]
}
],
- "prompt_number": 8
+ "prompt_number": 77
},
{
"cell_type": "code",
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: _ _ _ _ _ _ _ _ _ _ : Lives = 10 , wrong guesses: \n"
+ "Word: _ _ _ _ _ _ : Lives = 10 , wrong guesses: \n"
]
},
{
]
}
],
- "prompt_number": 9
+ "prompt_number": 78
},
{
"cell_type": "code",
{
"metadata": {},
"output_type": "pyout",
- "prompt_number": 10,
+ "prompt_number": 79,
"text": [
- "9"
+ "10"
]
}
],
- "prompt_number": 10
+ "prompt_number": 79
},
{
"cell_type": "code",
{
"metadata": {},
"output_type": "pyout",
- "prompt_number": 11,
+ "prompt_number": 80,
"text": [
- "['e']"
+ "[]"
]
}
],
- "prompt_number": 11
+ "prompt_number": 80
},
{
"cell_type": "code",
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: _ _ _ _ _ _ _ _ _ _ : Lives = 9 , wrong guesses: e\n"
+ "Word: _ _ _ _ _ e : Lives = 10 , wrong guesses: \n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: a\n"
+ "Enter letter: d\n"
]
}
],
- "prompt_number": 12
+ "prompt_number": 81
},
{
"cell_type": "code",
{
"metadata": {},
"output_type": "pyout",
- "prompt_number": 13,
+ "prompt_number": 82,
"text": [
"9"
]
}
],
- "prompt_number": 13
+ "prompt_number": 82
},
{
"cell_type": "code",
{
"metadata": {},
"output_type": "pyout",
- "prompt_number": 14,
+ "prompt_number": 83,
"text": [
- "['_', 'a', '_', '_', '_', '_', '_', '_', '_', '_']"
+ "['_', '_', '_', '_', '_', 'e']"
]
}
],
- "prompt_number": 14
+ "prompt_number": 83
},
{
"cell_type": "code",
{
"metadata": {},
"output_type": "pyout",
- "prompt_number": 15,
+ "prompt_number": 84,
"text": [
- "['e']"
+ "['d']"
]
}
],
- "prompt_number": 15
+ "prompt_number": 84
},
{
"cell_type": "code",
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: _ _ _ _ _ : Lives = 10 , wrong guesses: \n"
+ "Word: _ _ _ _ _ _ _ : Lives = 10 , wrong guesses: \n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: e\n"
+ "Enter letter: d\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: _ _ _ _ _ : Lives = 9 , wrong guesses: e\n"
+ "Word: _ _ _ _ _ _ d : Lives = 10 , wrong guesses: \n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: a\n"
+ "Enter letter: e\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: a _ _ _ _ : Lives = 9 , wrong guesses: e\n"
+ "Word: _ e _ _ _ e d : Lives = 10 , wrong guesses: \n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: t\n"
+ "Enter letter: f\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: a _ _ _ _ : Lives = 8 , wrong guesses: e t\n"
+ "Word: _ e _ _ _ e d : Lives = 9 , wrong guesses: f\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: i\n"
+ "Enter letter: e\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: a _ _ _ _ : Lives = 7 , wrong guesses: e i t\n"
+ "Word: _ e _ _ _ e d : Lives = 9 , wrong guesses: f\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: o\n"
+ "Enter letter: s\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: a _ _ o _ : Lives = 7 , wrong guesses: e i t\n"
+ "Word: _ e _ _ _ e d : Lives = 8 , wrong guesses: f s\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: s\n"
+ "Enter letter: t\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: a _ _ o _ : Lives = 6 , wrong guesses: e i s t\n"
+ "Word: _ e _ _ _ e d : Lives = 7 , wrong guesses: f s t\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: a _ _ o _ : Lives = 5 , wrong guesses: e i n s t\n"
+ "Word: _ e _ _ _ e d : Lives = 6 , wrong guesses: f n s t\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: h\n"
+ "Enter letter: m\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: a _ _ o _ : Lives = 4 , wrong guesses: e h i n s t\n"
+ "Word: _ e _ _ _ e d : Lives = 5 , wrong guesses: f m n s t\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: r\n"
+ "Enter letter: h\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: a _ _ o _ : Lives = 3 , wrong guesses: e h i n r s t\n"
+ "Word: _ e _ _ _ e d : Lives = 4 , wrong guesses: f h m n s t\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: d\n"
+ "Enter letter: o\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: a _ _ o _ : Lives = 2 , wrong guesses: d e h i n r s t\n"
+ "Word: _ e _ _ _ e d : Lives = 3 , wrong guesses: f h m n o s t\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: l\n"
+ "Enter letter: i\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: a l l o _ : Lives = 2 , wrong guesses: d e h i n r s t\n"
+ "Word: _ e _ i _ e d : Lives = 3 , wrong guesses: f h m n o s t\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: y\n"
+ "Enter letter: r\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: a l l o _ : Lives = 1 , wrong guesses: d e h i n r s t y\n"
+ "Word: r e _ i r e d : Lives = 3 , wrong guesses: f h m n o s t\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "You won! The word was allow\n"
+ "You won! The word was rewired\n"
]
},
{
"metadata": {},
"output_type": "pyout",
- "prompt_number": 16,
+ "prompt_number": 85,
"text": [
"True"
]
}
],
- "prompt_number": 16
+ "prompt_number": 85
},
{
"cell_type": "code",
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: _ _ _ _ _ _ _ _ : Lives = 10 , wrong guesses: \n"
+ "Word: _ _ _ _ _ : Lives = 10 , wrong guesses: \n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: _ _ _ e e _ _ _ : Lives = 10 , wrong guesses: \n"
+ "Word: _ _ _ _ _ : Lives = 9 , wrong guesses: e\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: a\n"
+ "Enter letter: s\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: _ _ _ e e _ _ _ : Lives = 9 , wrong guesses: a\n"
+ "Word: _ _ _ _ s : Lives = 9 , wrong guesses: e\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: i\n"
+ "Enter letter: t\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: _ _ _ e e i _ _ : Lives = 9 , wrong guesses: a\n"
+ "Word: _ _ _ _ s : Lives = 8 , wrong guesses: e t\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: n\n"
+ "Enter letter: o\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: _ _ _ e e i n _ : Lives = 9 , wrong guesses: a\n"
+ "Word: _ _ _ _ s : Lives = 7 , wrong guesses: e o t\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: g\n"
+ "Enter letter: i\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: _ _ _ e e i n g : Lives = 9 , wrong guesses: a\n"
+ "Word: _ _ _ _ s : Lives = 6 , wrong guesses: e i o t\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: _ _ _ e e i n g : Lives = 8 , wrong guesses: a u\n"
+ "Word: _ _ _ _ s : Lives = 5 , wrong guesses: e i o t u\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: s\n"
+ "Enter letter: a\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: s _ _ e e i n g : Lives = 8 , wrong guesses: a u\n"
+ "Word: _ _ _ _ s : Lives = 4 , wrong guesses: a e i o t u\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: h\n"
+ "Enter letter: y\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: s _ _ e e i n g : Lives = 7 , wrong guesses: a h u\n"
+ "Word: _ y _ _ s : Lives = 4 , wrong guesses: a e i o t u\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: c\n"
+ "Enter letter: w\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: s _ _ e e i n g : Lives = 6 , wrong guesses: a c h u\n"
+ "Word: _ y _ _ s : Lives = 3 , wrong guesses: a e i o t u w\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: t\n"
+ "Enter letter: h\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: s _ _ e e i n g : Lives = 5 , wrong guesses: a c h t u\n"
+ "Word: h y _ _ s : Lives = 3 , wrong guesses: a e i o t u w\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: r\n"
+ "Enter letter: m\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: s _ r e e i n g : Lives = 5 , wrong guesses: a c h t u\n"
+ "Word: h y m _ s : Lives = 3 , wrong guesses: a e i o t u w\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: c\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Word: s _ r e e i n g : Lives = 4 , wrong guesses: a c h t u\n"
+ "Enter letter: n\n"
]
},
{
- "name": "stdout",
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: p\n"
+ "You won! The word was hymns\n"
]
},
{
"metadata": {},
"output_type": "pyout",
- "prompt_number": 38,
+ "prompt_number": 86,
"text": [
"True"
]
}
],
- "prompt_number": 38
+ "prompt_number": 86
},
{
"cell_type": "code",
{
"metadata": {},
"output_type": "pyout",
- "prompt_number": 39,
+ "prompt_number": 108,
"text": [
- "'spreeing'"
+ "'six'"
]
}
],
- "prompt_number": 39
+ "prompt_number": 108
},
{
"cell_type": "code",
"class PlayerAlphabetical:\n",
" def guess(self, discovered, missed, lives):\n",
" guessed_letters = [l.lower() for l in discovered + missed if l in string.ascii_letters]\n",
- " return self.ordered_subtract(string.ascii_lowercase, guessed_letters)[0]\n",
- " \n",
- " def ordered_subtract(self, ordered_list, to_remove):\n",
- " for r in to_remove:\n",
- " if r in ordered_list:\n",
- " ri = ordered_list.index(r)\n",
- " ordered_list = ordered_list[:ri] + ordered_list[ri+1:]\n",
- " return ordered_list"
+ " return [l for l in string.ascii_lowercase if l not in guessed_letters][0]"
],
"language": "python",
"metadata": {},
"outputs": [],
- "prompt_number": 43
+ "prompt_number": 109
},
{
"cell_type": "code",
"language": "python",
"metadata": {},
"outputs": [],
- "prompt_number": 44
+ "prompt_number": 110
},
{
"cell_type": "code",
{
"metadata": {},
"output_type": "pyout",
- "prompt_number": 45,
+ "prompt_number": 111,
"text": [
"False"
]
}
],
- "prompt_number": 45
+ "prompt_number": 111
},
{
"cell_type": "code",
{
"metadata": {},
"output_type": "pyout",
- "prompt_number": 46,
+ "prompt_number": 112,
"text": [
- "['d', 'e', '_', 'i', 'a', 'n', '_', '_']"
+ "['l', 'e', 'g', 'a', 'l', 'l', '_']"
]
}
],
- "prompt_number": 46
+ "prompt_number": 112
},
{
"cell_type": "code",
{
"metadata": {},
"output_type": "pyout",
- "prompt_number": 47,
+ "prompt_number": 113,
"text": [
- "'deviants'"
+ "'legally'"
]
}
],
- "prompt_number": 47
+ "prompt_number": 113
},
{
"cell_type": "code",
"output_type": "stream",
"stream": "stdout",
"text": [
- "Target: peoples ; Discovered: ['_', 'e', '_', '_', '_', 'e', '_'] ; Lives remaining: 0\n"
+ "Target: cavalry ; Discovered: ['c', 'a', '_', 'a', 'l', '_', '_'] ; Lives remaining: 0\n"
]
}
],
- "prompt_number": 54
+ "prompt_number": 114
},
{
"cell_type": "code",
"class PlayerFreqOrdered:\n",
" def guess(self, discovered, missed, lives):\n",
" guessed_letters = [l.lower() for l in discovered + missed if l in string.ascii_letters]\n",
- " return self.ordered_subtract(LETTERS_IN_ORDER, guessed_letters)[0]\n",
- " \n",
- " def ordered_subtract(self, ordered_list, to_remove):\n",
- " for r in to_remove:\n",
- " if r in ordered_list:\n",
- " ri = ordered_list.index(r)\n",
- " ordered_list = ordered_list[:ri] + ordered_list[ri+1:]\n",
- " return ordered_list"
+ " return [l for l in LETTERS_IN_ORDER if l not in guessed_letters][0]"
],
"language": "python",
"metadata": {},
"outputs": [],
- "prompt_number": 55
+ "prompt_number": 115
},
{
"cell_type": "code",
"output_type": "stream",
"stream": "stdout",
"text": [
- "Target: wadding ; Discovered: ['w', 'a', 'd', 'd', 'i', 'n', '_'] ; Lives remaining: 0\n"
+ "Target: deathblow ; Discovered: ['d', 'e', 'a', 't', 'h', '_', 'l', 'o', 'w'] ; Lives remaining: 0\n"
]
}
],
- "prompt_number": 56
+ "prompt_number": 116
},
{
"cell_type": "code",
"output_type": "stream",
"stream": "stdout",
"text": [
- "Target: pharmacopoeias ; Discovered: ['p', 'h', 'a', 'r', 'm', 'a', 'c', 'o', 'p', 'o', 'e', 'i', 'a', 's'] ; Lives remaining: 1\n"
+ "Target: littered ; Discovered: ['l', 'i', 't', 't', 'e', 'r', 'e', 'd'] ; Lives remaining: 5\n"
]
}
],
- "prompt_number": 57
+ "prompt_number": 117
},
{
"cell_type": "code",
"output_type": "stream",
"stream": "stdout",
"text": [
- "Target: forklift ; Discovered: ['_', 'o', 'r', '_', 'l', 'i', '_', 't'] ; Lives remaining: 0\n"
+ "Target: licenced ; Discovered: ['l', 'i', 'c', 'e', 'n', 'c', 'e', 'd'] ; Lives remaining: 1\n"
]
}
],
- "prompt_number": 58
+ "prompt_number": 118
},
{
"cell_type": "code",
" \n",
" def guess(self, discovered, missed, lives):\n",
" guessed_letters = [l.lower() for l in discovered + missed if l in string.ascii_letters]\n",
- " self.ordered_subtract(guessed_letters)\n",
- " return self.ordered_letters[0]\n",
- "\n",
- " def ordered_subtract(self, to_remove):\n",
- " for r in to_remove:\n",
- " if r in self.ordered_letters:\n",
- " ri = self.ordered_letters.index(r)\n",
- " self.ordered_letters = self.ordered_letters[:ri] + self.ordered_letters[ri+1:]"
+ " return [l for l in self.ordered_letters if l not in guessed_letters][0]"
],
"language": "python",
"metadata": {},
"outputs": [],
- "prompt_number": 65
+ "prompt_number": 119
},
{
"cell_type": "code",
"language": "python",
"metadata": {},
"outputs": [],
- "prompt_number": 66
+ "prompt_number": 120
},
{
"cell_type": "code",
"output_type": "stream",
"stream": "stdout",
"text": [
- "Target: nods ; Discovered: ['n', 'o', 'd', 's'] ; Lives remaining: 4\n"
+ "Target: unworthier ; Discovered: ['u', 'n', 'w', 'o', 'r', 't', 'h', 'i', 'e', 'r'] ; Lives remaining: 5\n"
]
}
],
- "prompt_number": 67
+ "prompt_number": 121
},
{
"cell_type": "code",
"output_type": "stream",
"stream": "stdout",
"text": [
- "Target: firsthand ; Discovered: ['f', 'i', 'r', 's', 't', 'h', 'a', 'n', 'd'] ; Lives remaining: 2\n"
+ "Target: kneel ; Discovered: ['_', 'n', 'e', 'e', 'l'] ; Lives remaining: 0\n"
]
}
],
- "prompt_number": 68
+ "prompt_number": 122
},
{
"cell_type": "code",
"output_type": "stream",
"stream": "stdout",
"text": [
- "Target: lawbreakers ; Discovered: ['l', 'a', '_', 'b', '_', 'e', 'a', 'k', 'e', '_', '_'] ; Lives remaining: 0\n"
+ "Target: provisoes ; Discovered: ['_', '_', '_', '_', 'i', '_', '_', 'e', '_'] ; Lives remaining: 0\n"
]
}
],
- "prompt_number": 69
+ "prompt_number": 123
},
{
"cell_type": "code",
"output_type": "stream",
"stream": "stdout",
"text": [
- "Target: chilblains ; Discovered: ['_', '_', '_', '_', '_', '_', '_', '_', '_', 's'] ; Lives remaining: 0\n"
+ "Target: invincible ; Discovered: ['_', '_', 'v', '_', '_', '_', '_', '_', '_', '_'] ; Lives remaining: 0\n"
]
}
],
- "prompt_number": 74
+ "prompt_number": 124
},
{
"cell_type": "code",
"output_type": "stream",
"stream": "stdout",
"text": [
- "Target: talks ; Discovered: ['t', '_', '_', '_', 's'] ; Lives remaining: 0\n"
+ "Target: clogging ; Discovered: ['_', '_', '_', '_', '_', '_', '_', '_'] ; Lives remaining: 0\n"
]
}
],
- "prompt_number": 75
+ "prompt_number": 125
},
{
"cell_type": "code",
"output_type": "stream",
"stream": "stdout",
"text": [
- "42\n"
+ "44\n"
]
}
],
- "prompt_number": 77
+ "prompt_number": 126
},
{
"cell_type": "code",
"output_type": "stream",
"stream": "stdout",
"text": [
- "319\n"
+ "320\n"
]
}
],
- "prompt_number": 78
+ "prompt_number": 127
},
{
"cell_type": "code",
"output_type": "stream",
"stream": "stdout",
"text": [
- "10\n"
+ "7\n"
]
}
],
- "prompt_number": 80
+ "prompt_number": 128
},
{
"cell_type": "code",
"input": [],
"language": "python",
"metadata": {},
- "outputs": []
+ "outputs": [],
+ "prompt_number": 128
}
],
"metadata": {}