It's because read_line(&mut guess) includes the trailing line break in the string value that is written to guess. You could trim the string before printing to get rid of the line break.
use std::io;
fn main() {
println!("Please input your number.");
let mut guess = String::new();
io::stdin().read_line(&mut guess)
.expect("Failed to read line");
- print!("Your input: {}, hello world!", guess);
+ print!("Your input: {}, hello world!", guess.trim());
}