title: Python error: "IndexError: string index out of range"
body: <p>I'm currently learning python from a book called 'Python for the absolute beginner (third edition)'. There is an exercise in the book which outlines code for a hangman game. I followed along with this code however I keep getting back an error in the middle of the program. </p>
  
  <p>Here is the code that is causing the problem:</p>
  
  <pre><code>if guess in word:
      print("\nYes!", guess, "is in the word!")
  
      # Create a new variable (so_far) to contain the guess
      new = ""
      i = 0
      for i in range(len(word)):
          if guess == word[i]:
              new += guess
          else:
              new += so_far[i]
          so_far = new
  </code></pre>
  
  <p>This is also the error it returns:</p>
  
  <pre><code>new += so_far[i]
  IndexError: string index out of range
  </code></pre>
  
  <p>Could someone help me out with what is going wrong and what I can do to fix it?</p>
  
  <p>edit: I initialised the so_far variable like so:</p>
  
  <pre><code>so_far = "-" * len(word)
  </code></pre>