title: Python input single character without enter
body: <p>What I am trying to do is make a simple pi memorization game in Python.  What I need is a way to get input from the user without having to press 'enter' after every character.  It sounds like I need something like getch, but I can't get it to work.  I got a getch-like function from here: <a href="https://gist.github.com/chao787/2652257#file-getch-py" rel="noreferrer">https://gist.github.com/chao787/2652257#file-getch-py</a>.  I don't really understand anything that's in there.  When I do '<code>x = getch.getch()</code>' it says "<code>AttributeError: '_Getch' object has no attribute 'getch'</code>".  It looks like msvcrt can do it for Windows, but I have a Mac.  It also looks like curses is a thing that has getch, but it says I need to do initscr first, but then I get the error "<code>File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/curses/__init__.py", line 30, in initscr
      fd=_sys.__stdout__.fileno())
  _curses.error: setupterm: could not find terminal</code>".</p>
  
  <p>This is my file just using input, where you would have to press enter every time (I actually put in 1000 digits, not an ellipsis).</p>
  
  <pre><code>pi = '3.1415926535...'
  
  
  def main():
      print('Welcome to PiGame!')
      pigame()
      while True:
          yn = input('Play again? y/n ')
          if yn == 'y':
              pigame()
          else: return
  
  
  def pigame():
  
      n=0
  
      print('Go!')
  
  
      while n&lt;=1000:
          x = input()
          if x == pi[n]:
              n += 1
          else:
              print('I\'m sorry. The next digit was '+pi[n]+'.')
              print('You got to '+str(n)+' digits!')
              return
      print('You got to 1000! Hooray!')
  </code></pre>