/**
 * This function takes in the photographer's rating, camera quality, and light condition as arguments and returns
 * the overall quality of the photo based on the nested conditional statements and comparisons with other values.
 *
 * @param photographerRating The rating of the photographer from 1 to 10.
 * @param cameraQuality The quality of the camera used (e.g. "High", "Medium", "Low").
 * @param lightCondition The condition of the light while capturing the photo (e.g. "Bright", "Normal", "Low").
 * @return The overall quality of the photo based on the conditions met.
 */
fun getPhotoQuality(photographerRating: Int, cameraQuality: String, lightCondition: String): String {

    // Nested conditional statements with comparisons
    return when {
        photographerRating >= 8 -> {
            when (cameraQuality) {
                "High" -> {
                    when (lightCondition) {
                        "Bright" -> "Excellent"
                        "Normal" -> "Good"
                        "Low" -> "Fair"
                        else -> "Invalid light condition"
                    }
                }
                "Medium" -> {
                    when (lightCondition) {
                        "Bright" -> "Good"
                        "Normal" -> "Fair"
                        "Low" -> "Poor"
                        else -> "Invalid light condition"
                    }
                }
                "Low" -> {
                    when (lightCondition) {
                        "Bright" -> "Fair"
                        "Normal" -> "Poor"
                        "Low" -> "Lowest"
                        else -> "Invalid light condition"
                    }
                }
                else -> "Invalid camera quality"
            }
        }
        else -> "Photographer rating too low"
    }
}
/**
 * This function takes in the photographer's rating, camera quality, and light condition as arguments and returns
 * the overall quality of the photo based on the nested conditional statements and comparisons with other values.
 *
 * @param photographerRating The rating of the photographer from 1 to 10.
 * @param cameraQuality The quality of the camera used (e.g. "High", "Medium", "Low").
 * @param lightCondition The condition of the light while capturing the photo (e.g. "Bright", "Normal", "Low").
 * @return The overall quality of the photo based on the conditions met.
 */
fun getPhotoQuality(photographerRating: Int, cameraQuality: String, lightCondition: String): String {
/**
 * This function takes in the photographer's rating, camera quality, and light condition as arguments and returns
 * the overall quality of the photo based on the nested conditional statements and comparisons with other values.
 *
 * @param photographerRating The rating of the photographer from 1 to 10.
 * @param cameraQuality The quality of the camera used (e.g. "High", "Medium", "Low").
 * @param lightCondition The condition of the light while capturing the photo (e.g. "Bright", "Normal", "Low").
 * @return The overall quality of the photo based on the conditions met.
 */
fun getPhotoQuality(photographerRating: Int, cameraQuality: String, lightCondition: String): String {

    // Nested conditional statements with comparisons
    return when {
        photographerRating >= 8 -> {
            when (cameraQuality) {
                "High" -> {
                    when (lightCondition) {
                        "Bright" -> "Excellent"
                        "Normal" -> "Good"
                        "Low" -> "Fair"
                        else -> "Invalid light condition"
                    }
                }
                "Medium" -> {
                    when (lightCondition) {
                        "Bright" -> "Good"
                        "Normal" -> "Fair"
                        "Low" -> "Poor"
                        else -> "Invalid light condition"
                    }
                }
                "Low" -> {
                    when (lightCondition) {
                        "Bright" -> "Fair"
                        "Normal" -> "Poor"
                        "Low" -> "Lowest"
                        else -> "Invalid light condition"
                    }
                }
                else -> "Invalid camera quality"
            }
        }
        else -> "Photographer rating too low"
    }
}