pub fn input_other_or_else<T, F: FnOnce() -> T>(output: &str, func: F) -> T where T: FromStr,
get input or if failed then return with the default value