code: def get_value_from_user(sc):
      
      if not sc.visibility:
          print(sc.name + " is not currently visible")
          return False
  
      prompt = "Value for {}".format(sc.name)
      if sc.type in (BOOL, TRISTATE):
          prompt += " (available: {})" \
                    .format(", ".join(TRI_TO_STR[val] for val in sc.assignable))
      prompt += ": "
  
      val = input(prompt)
  
      # Automatically add a "0x" prefix for hex symbols, like the menuconfig
      # interface does. This isn't done when loading .config files, hence why
      # set_value() doesn't do it automatically.
      if sc.type == HEX and not val.startswith(("0x", "0X")):
          val = "0x" + val
  
      # Let Kconfiglib itself print a warning here if the value is invalid. We
      # could also disable warnings temporarily with
      # kconf.disable_warnings() / kconf.enable_warnings() and print our own
      # warning.
      return sc.set_value(val)
docs: Prompts the user for a value for the symbol or choice 'sc'. For
      bool/tristate symbols and choices, provides a list of all the assignable
      values.