{
"metadata": {
"name": "",
- "signature": "sha256:db806d8bbe929161fce8776d2eeac6bad40d1abb93a97d112b974b6a8d50bdd0"
+ "signature": "sha256:65af1805536aa8ac4200804af5d4b4d0e55c2eb86d74b2cf3f31a632b3aeccf8"
},
"nbformat": 3,
"nbformat_minor": 0,
"language": "python",
"metadata": {},
"outputs": [],
- "prompt_number": 33
+ "prompt_number": 4
},
{
"cell_type": "code",
{
"metadata": {},
"output_type": "pyout",
- "prompt_number": 4,
+ "prompt_number": 5,
"text": [
"62856"
]
}
],
- "prompt_number": 4
+ "prompt_number": 5
},
{
"cell_type": "code",
{
"metadata": {},
"output_type": "pyout",
- "prompt_number": 5,
+ "prompt_number": 6,
"text": [
"['jotted',\n",
" 'jotting',\n",
]
}
],
- "prompt_number": 5
+ "prompt_number": 6
},
{
"cell_type": "code",
{
"metadata": {},
"output_type": "pyout",
- "prompt_number": 6,
+ "prompt_number": 7,
"text": [
- "'bluster'"
+ "'goitre'"
]
}
],
- "prompt_number": 6
+ "prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": [
- "guessed_word = list('_' * len(target))\n",
- "guessed_word"
+ "discovered = list('_' * len(target))\n",
+ "discovered"
],
"language": "python",
"metadata": {},
{
"metadata": {},
"output_type": "pyout",
- "prompt_number": 7,
+ "prompt_number": 8,
"text": [
- "['_', '_', '_', '_', '_', '_', '_']"
+ "['_', '_', '_', '_', '_', '_']"
]
}
],
- "prompt_number": 7
+ "prompt_number": 8
},
{
"cell_type": "code",
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: dsf\n"
+ "Enter letter: r\n"
]
},
{
"metadata": {},
"output_type": "pyout",
- "prompt_number": 8,
+ "prompt_number": 9,
"text": [
- "'d'"
+ "'r'"
]
}
],
- "prompt_number": 8
+ "prompt_number": 9
},
{
"cell_type": "code",
"collapsed": false,
"input": [
- "def find_all(string, letter):\n",
+ "def find_all_explicit(string, letter):\n",
" locations = []\n",
" starting=0\n",
" location = string.find(letter)\n",
"language": "python",
"metadata": {},
"outputs": [],
- "prompt_number": 9
+ "prompt_number": 25
},
{
"cell_type": "code",
"collapsed": false,
"input": [
- "find_all('happy', 'q')"
+ "def find_all(string, letter):\n",
+ " return [p for p, l in enumerate(string) if l == letter]"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "find_all('happy', 'p')"
],
"language": "python",
"metadata": {},
{
"metadata": {},
"output_type": "pyout",
- "prompt_number": 10,
+ "prompt_number": 27,
"text": [
- "[]"
+ "[2, 3]"
]
}
],
- "prompt_number": 10
+ "prompt_number": 27
},
{
"cell_type": "code",
"guessed_letter = 'e'\n",
"locations = find_all(target, guessed_letter)\n",
"for location in locations:\n",
- " guessed_word[location] = guessed_letter\n",
- "guessed_word"
+ " discovered[location] = guessed_letter\n",
+ "discovered"
],
"language": "python",
"metadata": {},
{
"metadata": {},
"output_type": "pyout",
- "prompt_number": 11,
+ "prompt_number": 12,
"text": [
- "['_', '_', '_', '_', '_', 'e', '_']"
+ "['_', '_', '_', '_', '_', 'e']"
]
}
],
- "prompt_number": 11
+ "prompt_number": 12
},
{
"cell_type": "code",
"collapsed": false,
"input": [
- "def updated_guessed_word(guessed_word, guessed_letter):\n",
+ "def updated_discovered_word(discovered, guessed_letter):\n",
" locations = find_all(target, guessed_letter)\n",
" for location in locations:\n",
- " guessed_word[location] = guessed_letter\n",
- " return guessed_word"
+ " discovered[location] = guessed_letter\n",
+ " return discovered"
],
"language": "python",
"metadata": {},
"collapsed": false,
"input": [
"def initialise():\n",
- " global lives, target, guessed_word, wrong_letters\n",
+ " global lives, target, discovered, wrong_letters\n",
" lives = STARTING_LIVES\n",
" target = random.choice(WORDS)\n",
- " guessed_word = list('_' * len(target))\n",
+ " discovered = list('_' * len(target))\n",
" wrong_letters = []"
],
"language": "python",
"metadata": {},
"outputs": [],
- "prompt_number": 30
+ "prompt_number": 14
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def do_turn():\n",
- " global guessed_words, lives, wrong_letters\n",
- " print('Word:', ' '.join(guessed_word), ' : Lives =', lives, ', wrong guesses:', ' '.join(sorted(wrong_letters)))\n",
+ " global discovered, lives, wrong_letters\n",
+ " print('Word:', ' '.join(discovered), ' : Lives =', lives, ', wrong guesses:', ' '.join(sorted(wrong_letters)))\n",
" guess = input('Enter letter: ').strip().lower()[0]\n",
" if guess in target:\n",
- " updated_guessed_word(guessed_word, guess)\n",
+ " updated_discovered_word(discovered, guess)\n",
" else:\n",
" lives -= 1\n",
- " wrong_letters += [guess]"
+ " if guess not in wrong_letters:\n",
+ " wrong_letters += [guess]"
],
"language": "python",
"metadata": {},
"outputs": [],
- "prompt_number": 41
+ "prompt_number": 15
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def play_game():\n",
- " global guessed_word, lives\n",
+ " global discovered, lives\n",
" initialise()\n",
" game_finished = False\n",
" do_turn()\n",
" while not game_finished:\n",
- " if '_' not in guessed_word:\n",
- " print('You won!')\n",
+ " if '_' not in discovered:\n",
+ " print('You won! The word was', target)\n",
" game_finished = True\n",
" elif lives <= 0:\n",
" print('You lost. The word was', target)\n",
"language": "python",
"metadata": {},
"outputs": [],
- "prompt_number": 36
+ "prompt_number": 16
},
{
"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 _ _ _ : Lives = 10 , wrong guesses: \n"
+ "Word: _ _ _ e : Lives = 10 , wrong guesses: \n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: a\n"
+ "Enter letter: s\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: a _ _ _ _ e _ _ _ : Lives = 10 , wrong guesses: \n"
+ "Word: _ _ _ e : Lives = 9 , wrong guesses: s\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: t\n"
+ "Enter letter: a\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: a _ _ _ _ e t _ _ : Lives = 10 , wrong guesses: \n"
+ "Word: _ _ _ e : Lives = 8 , wrong guesses: a s\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: a _ _ o _ e t _ _ : Lives = 10 , wrong guesses: \n"
+ "Word: _ _ _ e : Lives = 7 , wrong guesses: a o s\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: a _ _ o _ e t _ _ : Lives = 9 , wrong guesses: i\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter letter: n\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Word: a _ _ o _ e t _ _ : Lives = 8 , wrong guesses: i n\n"
+ "Word: _ i _ e : Lives = 7 , wrong guesses: a o 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 _ e t _ _ : Lives = 7 , wrong guesses: i n s\n"
+ "Word: _ i _ e : Lives = 6 , wrong guesses: a o s t\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: h\n"
+ "Enter letter: n\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: a _ _ o _ e t _ _ : Lives = 6 , wrong guesses: h i n s\n"
+ "Word: _ i _ e : Lives = 5 , wrong guesses: a n o s t\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: r\n"
+ "Enter letter: m\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: a r _ o r e t _ _ : Lives = 6 , wrong guesses: h i n s\n"
+ "Word: _ i _ e : Lives = 4 , wrong guesses: a m n o s t\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: g\n"
+ "Enter letter: l\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: a r _ o r e t _ _ : Lives = 5 , wrong guesses: g h i n s\n"
+ "Word: _ i _ e : Lives = 3 , wrong guesses: a l m n o s t\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: r\n"
+ "Enter letter: c\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: a r _ o r e t _ _ : Lives = 5 , wrong guesses: g h i n s\n"
+ "Word: _ i _ e : Lives = 2 , wrong guesses: a c l m n o s t\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: a r _ o r e t _ _ : Lives = 4 , wrong guesses: d g h i n s\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter letter: l\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Word: a r _ o r e t _ _ : Lives = 3 , wrong guesses: d g h i l n s\n"
+ "Word: _ i d e : Lives = 2 , wrong guesses: a c l m n o s t\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Enter letter: u\n"
+ "Enter letter: h\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: a r _ o r e t u _ : Lives = 3 , wrong guesses: d g h i l n s\n"
+ "Word: _ i d e : Lives = 1 , wrong guesses: a c h l m n o s t\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
- "Word: a r b o r e t u _ : Lives = 3 , wrong guesses: d g h i l n s\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter letter: m\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "You won!\n"
+ "You lost. The word was ride\n"
]
}
],
- "prompt_number": 42
+ "prompt_number": 20
},
{
"cell_type": "code",
"input": [],
"language": "python",
"metadata": {},
- "outputs": []
+ "outputs": [],
+ "prompt_number": 17
}
],
"metadata": {}