def validate_probability(p: float, p_str: str) -> float:
    """Validates that a probability is between 0 and 1 inclusively.

    Args:
        p: The value to validate.
        p_str: What to call the probability in error messages.

    Returns:
        The probability p if the probability if valid.

    Raises:
        ValueError: If the probability is invalid.
    """
    if p < 0:
        raise ValueError(f'{p_str} was less than 0.')
    elif p > 1:
        raise ValueError(f'{p_str} was greater than 1.')
    return p
Validates that a probability is between 0 and 1 inclusively.

    Args:
        p: The value to validate.
        p_str: What to call the probability in error messages.

    Returns:
        The probability p if the probability if valid.

    Raises:
        ValueError: If the probability is invalid.
    
cirq-core/cirq/value/probability.py