4 "signature": "sha256:65af1805536aa8ac4200804af5d4b4d0e55c2eb86d74b2cf3f31a632b3aeccf8"
27 "WORDS = [w.strip() for w in open('/usr/share/dict/british-english').readlines() \n",
28 " if re.match(r'^[a-z]*$', w.strip())]"
39 "STARTING_LIVES = 10\n",
69 "output_type": "pyout",
89 "output_type": "pyout",
111 "target = random.choice(WORDS)\n",
114 "language": "python",
119 "output_type": "pyout",
132 "discovered = list('_' * len(target))\n",
135 "language": "python",
140 "output_type": "pyout",
143 "['_', '_', '_', '_', '_', '_']"
153 "letter = input('Enter letter: ').strip().lower()[0]\n",
156 "language": "python",
161 "output_type": "stream",
169 "output_type": "pyout",
182 "def find_all_explicit(string, letter):\n",
185 " location = string.find(letter)\n",
186 " while location > -1:\n",
187 " locations += [location]\n",
188 " starting = location + 1\n",
189 " location = string.find(letter, starting)\n",
192 "language": "python",
201 "def find_all(string, letter):\n",
202 " return [p for p, l in enumerate(string) if l == letter]"
204 "language": "python",
213 "find_all('happy', 'p')"
215 "language": "python",
220 "output_type": "pyout",
233 "guessed_letter = 'e'\n",
234 "locations = find_all(target, guessed_letter)\n",
235 "for location in locations:\n",
236 " discovered[location] = guessed_letter\n",
239 "language": "python",
244 "output_type": "pyout",
247 "['_', '_', '_', '_', '_', 'e']"
257 "def updated_discovered_word(discovered, guessed_letter):\n",
258 " locations = find_all(target, guessed_letter)\n",
259 " for location in locations:\n",
260 " discovered[location] = guessed_letter\n",
263 "language": "python",
272 "def initialise():\n",
273 " global lives, target, discovered, wrong_letters\n",
274 " lives = STARTING_LIVES\n",
275 " target = random.choice(WORDS)\n",
276 " discovered = list('_' * len(target))\n",
277 " wrong_letters = []"
279 "language": "python",
289 " global discovered, lives, wrong_letters\n",
290 " print('Word:', ' '.join(discovered), ' : Lives =', lives, ', wrong guesses:', ' '.join(sorted(wrong_letters)))\n",
291 " guess = input('Enter letter: ').strip().lower()[0]\n",
292 " if guess in target:\n",
293 " updated_discovered_word(discovered, guess)\n",
296 " if guess not in wrong_letters:\n",
297 " wrong_letters += [guess]"
299 "language": "python",
308 "def play_game():\n",
309 " global discovered, lives\n",
311 " game_finished = False\n",
313 " while not game_finished:\n",
314 " if '_' not in discovered:\n",
315 " print('You won! The word was', target)\n",
316 " game_finished = True\n",
317 " elif lives <= 0:\n",
318 " print('You lost. The word was', target)\n",
319 " game_finished = True\n",
323 "language": "python",
334 "language": "python",
338 "output_type": "stream",
341 "Word: _ _ _ _ : Lives = 10 , wrong guesses: \n"
346 "output_type": "stream",
353 "output_type": "stream",
356 "Word: _ _ _ e : Lives = 10 , wrong guesses: \n"
361 "output_type": "stream",
368 "output_type": "stream",
371 "Word: _ _ _ e : Lives = 9 , wrong guesses: s\n"
376 "output_type": "stream",
383 "output_type": "stream",
386 "Word: _ _ _ e : Lives = 8 , wrong guesses: a s\n"
391 "output_type": "stream",
398 "output_type": "stream",
401 "Word: _ _ _ e : Lives = 7 , wrong guesses: a o s\n"
406 "output_type": "stream",
413 "output_type": "stream",
416 "Word: _ i _ e : Lives = 7 , wrong guesses: a o s\n"
421 "output_type": "stream",
428 "output_type": "stream",
431 "Word: _ i _ e : Lives = 6 , wrong guesses: a o s t\n"
436 "output_type": "stream",
443 "output_type": "stream",
446 "Word: _ i _ e : Lives = 5 , wrong guesses: a n o s t\n"
451 "output_type": "stream",
458 "output_type": "stream",
461 "Word: _ i _ e : Lives = 4 , wrong guesses: a m n o s t\n"
466 "output_type": "stream",
473 "output_type": "stream",
476 "Word: _ i _ e : Lives = 3 , wrong guesses: a l m n o s t\n"
481 "output_type": "stream",
488 "output_type": "stream",
491 "Word: _ i _ e : Lives = 2 , wrong guesses: a c l m n o s t\n"
496 "output_type": "stream",
503 "output_type": "stream",
506 "Word: _ i d e : Lives = 2 , wrong guesses: a c l m n o s t\n"
511 "output_type": "stream",
518 "output_type": "stream",
521 "Word: _ i d e : Lives = 1 , wrong guesses: a c h l m n o s t\n"
526 "output_type": "stream",
533 "output_type": "stream",
536 "You lost. The word was ride\n"
546 "language": "python",