def _print_and_append_loss(
    BCE_loss_series, W_loss_series, C_loss_series, loss_in_epoch
):
    """Helper function to print and save loss values in each epoch

    Parameters
    ----------
    BCE_loss_series : list
        Binary Cross-Entropy loss values
    W_loss_series : list
        Wasserstein-1 loss values in generator
    C_loss_series : list
        Wasserstein-1 loss values in critic
    loss_in_epoch : list
        Losses in the epoch of the form [BCE_Loss, W_Loss, C_Loss]

    Returns
    -------
    List of losses [BCE_loss, W_loss, C_loss]

    """

    BCE_loss_series.append(loss_in_epoch[0])
    W_loss_series.append(loss_in_epoch[1])
    C_loss_series.append(loss_in_epoch[2])

    print(f"Generator - Binary-Cross Entropy Loss: {loss_in_epoch[0]}")
    print(f"Generator - Wasserstein Loss: {loss_in_epoch[1]}")
    print(f"Critic - Wasserstein Distance: {loss_in_epoch[2]}")

    return BCE_loss_series, W_loss_series, C_loss_series