title: Re-prompting the user endlessly until the response is correct
body: <p>Please take a look at my code. I want the program to continuously re-prompt the user while they enter anything other than a positive integer between 1 and 8. I am mainly concerned about non-integer inputs, as negative values and those larger than 8 I can catch.</p>
  
  <p>I have semi-successfully implemented the try-except blocks, but only semi. I think the problem is that I do not fully understand how they work yet...</p>
  
  <pre><code>while True:
      try:
          n = int(input("Pyramid's height between 1 and 8: "))
      except ValueError:
          print("Must be a number between 1 and 8!")
          continue
      else:
          break
  if n &gt;= 1 and n &lt;= 8:
      mario()
  else:
      n = int(input("Must be between 1 and 8: "))
  </code></pre>
  
  <p>If the user enters a non-integer right off the bat, the exception catches it:</p>
  
  <pre><code>Pyramid's height between 1 and 8: ef
  Must be a number between 1 and 8!
  Pyramid's height between 1 and 8: 45
  Must be between 1 and 8:
  </code></pre>
  
  <p>etc.
  But if it happens later down the line:</p>
  
  <pre><code>Pyramid's height between 1 and 8: 16
  Must be between 1 and 8: efs
  Traceback (most recent call last):
    File "pattern4.py", line 23, in &lt;module&gt;
      n = int(input("\nMust be between 1 and 8: "))
  ValueError: invalid literal for int() with base 10: 'efs')
  </code></pre>
  
  <p>, then it is already out of the try-except loop and the program is crashing, instead of re-prompting.</p>