title: Python order of conditions
body: <p>When I enter this code, the program never throws an error, even if I enter a non-number:</p>
  
  <pre><code>user_input = input("Enter a number.")
  if user_input.isdigit() and 0 &lt;= float(user_input) &lt;= 10:
      print("A number between 0 and 10.")
  else:
      print("Not a number between 0 and 10.")
  </code></pre>
  
  <p>But, if I enter this code, the program throws an error if I enter a non-number:</p>
  
  <pre><code>user_input = input("Enter a number.")
  if 0 &lt;= float(user_input) &lt;= 10 and user_input.isdigit():
      print("A number between 0 and 10.")
  else:
      print("Not a number between 0 and 10.")
  </code></pre>
  
  <p>Does anyone know why? Does it really make a difference in which order I type conditions?</p>