p_rust 0.1.0

My rust practice
Documentation
use std::collections::HashMap;
use std::io;
use rand::Rng;

fn get_number_input(field_name: &String) -> usize {
    loop {
        let mut number_input_str = String::new();
        println!("Enter {}:", field_name);
        io::stdin()
            .read_line(&mut number_input_str)
            .expect("Failed to read line");
        match number_input_str.trim().parse() {
            Ok(input_result) => {
                if input_result < 1 {
                    println!("{} must be greater than 0", field_name);
                } else {
                    break input_result;
                }
            },
            Err(_) => {
                println!("Invalid {}: {}", field_name, number_input_str)
            }
        }
    }
}

fn main() {
    let list_size = get_number_input(&"list_size".to_string());
    println!("list_size: {}", list_size);

    let mut num_occurs = HashMap::new();
    let mut num_list = Vec::new();
    for _ in 0..list_size {
        let random_number = rand::thread_rng().gen_range(1..=100);
        let count = num_occurs.entry(random_number).or_insert(0);
        *count += 1;
        num_list.push(random_number);
    }
    num_list.sort();
    println!("List of integers {:?}", num_list);
    let middle_position = num_list.len() / 2;
    let medians = &num_list[middle_position - (num_list.len() % 2 ^ 1)..middle_position + 1];
    let median_sum: i32 = medians.iter().sum();
    let median = median_sum as f32 / medians.len() as f32;
    println!("median: {}", median);

    let mut mode_entry = (0, 0);
    let mut mapped_by_count = HashMap::new();
    for entry in num_occurs {
        if entry.1 > mode_entry.1 {
            mode_entry = entry;
        }
        let numbers_mapped_by_count = mapped_by_count.entry(entry.1).or_insert(vec![]);
        numbers_mapped_by_count.push(entry.0);
    }

    if mode_entry.1 > 1 {
        let modes = mapped_by_count.get_mut(&mode_entry.1).unwrap();
        modes.sort();
        println!("Mode(s): {:?}", modes);
    } else {
        println!("Mode does not exist!");
    }
}