code: def query_input(question, default=None, color=default_color):
      
      if default is None or default == '':
          prompt = ' '
      elif type(default) == str:
          prompt = flo(' [{default}] ')
      else:
          raise ValueError("invalid default answer: '%s'" % default)
  
      while True:
          sys.stdout.write(color(question + prompt))
          choice = raw_input()
          if default is not None and choice == '':
              return default
          if choice != '':
              return choice
docs: Ask a question for input via raw_input() and return their answer.
  
      "question" is a string that is presented to the user.
      "default" is the presumed answer if the user just hits <Enter>.
  
      The "answer" return value is a str.