code: def iter_nautilus(method):
      
      solution = None
      while method.current_iter:
          preference_class = init_nautilus(method)
          pref = preference_class(method, None)
          default = ",".join(map(str, pref.default_input()))
          while method.current_iter:
              method.print_current_iteration()
  
              pref_input = _prompt_wrapper(
                  u"Preferences: ",
                  default=default,
                  validator=VectorValidator(method, pref),
              )
  
              cmd = _check_cmd(pref_input)
              if cmd:
                  solution = method.zh
                  break
              pref = preference_class(
                  method, np.fromstring(pref_input, dtype=np.float, sep=",")
              )
              default = ",".join(map(str, pref.pref_input))
              solution, _ = method.next_iteration(pref)
          if cmd and list(cmd)[0] == "c":
              break
      return solution
docs: Iterate NAUTILUS method either interactively, or using given preferences if given
  
      Parameters
      ----------
  
      method : instance of NAUTILUS subclass
         Fully initialized NAUTILUS method instance