title: Python: NameError name '[input]' is not defined
body: <p>I'm trying to make a simple little tool for converting inches to centimeters and am stuck at trying to take a user input ('y' or 'n') for deciding whether to do another conversion or terminate. Here's what I've done: </p>
  
  <pre><code>import time
  
  def intro():
      print "Welcome! This program will convert inches to centimeters for you.\n"
      convert()
  
  def convert():
      input_cm = input(("Inches: "))
      inches_conv = input_cm * 2.54
      print "Centimeters: %f\n" % inches_conv
      time.sleep(3)
      restart = str(input("Do you wish to make another conversion? [y]Yes or [n]no: "))
      if restart == 'y':
          convert()
      elif restart == 'n':
          end_fast()
      else:
          print "I didn't quite understand that answer. Terminating."
          end_slow()
  
  def end_fast():
      print "This program will close in 5 seconds."
      time.sleep(5)
  
  def end_slow():
      print "This program will close in 30 seconds."
      time.sleep(30)
  
  intro()
  </code></pre>
  
  <p>And this results in: </p>
  
  <blockquote>
    <p>Traceback (most recent call last):
      File "C:\Users\Sam\Programming\Python\the hard way\ex5.4.py", line 29, in 
        intro()
      File "C:\Users\Sam\Programming\Python\the hard way\ex5.4.py", line 5, in intro
        convert()
      File "C:\Users\Sam\Programming\Python\the hard way\ex5.4.py", line 12, in convert
        restart = str(input("Do you wish to make another conversion? [y]Yes or [n]no?\n"))
      File "", line 1, in 
    NameError: name 'y' is not defined</p>
  </blockquote>
  
  <p>Help appreciated.</p>