Menu
Coddy logo textTech

When con rangos

Parte de la sección Fundamentos del Journey de Kotlin de Coddy. Lección 33 de 93.

A veces necesitas comprobar si un valor se encuentra dentro de un rango en lugar de coincidir con valores específicos. La expresión when admite esto mediante la palabra clave in combinada con rangos.

fun main() {
    val score = 85
    
    val grade = when (score) {
        in 90..100 -> "A"
        in 80..89 -> "B"
        in 70..79 -> "C"
        in 60..69 -> "D"
        else -> "F"
    }
    
    println(grade)  // Imprime: B
}

La palabra clave in comprueba si el valor existe dentro del rango especificado. Aquí, 85 se encuentra dentro de 80..89, por lo que la calificación es "B". Esto es mucho más limpio que escribir score >= 80 && score <= 89 para cada condición.

También puedes combinar rangos con valores específicos en la misma expresión when:

fun main() {
    val age = 17
    
    val category = when (age) {
        0 -> "Newborn"
        in 1..12 -> "Child"
        in 13..19 -> "Teenager"
        else -> "Adult"
    }
    
    println(category)  // Imprime: Teenager
}

Los rangos hacen que tu código sea más legible al trabajar con condiciones numéricas continuas, algo común en los sistemas de calificación, las categorías de edad y situaciones similares.

challenge icon

Desafío

Fácil

Escribe una función getTicketPrice que reciba age y devuelva el precio de la entrada según la categoría de edad de la persona.

Usa una expresión when con rangos para determinar el precio de entrada correspondiente.

Condiciones:

  • Edad de 0 a 3: devuelve 0 (gratis)
  • Edad de 4 a 12: devuelve 10 (precio infantil)
  • Edad de 13 a 17: devuelve 15 (precio para adolescentes)
  • Edad de 18 a 64: devuelve 25 (precio para adultos)
  • Edad de 65 en adelante: devuelve 12 (precio para personas mayores)

Parámetros:

  • age (Int): La edad de la persona

Devuelve: El precio de la entrada como un entero (Int)

Pruébalo tú mismo

fun getTicketPrice(age: Int): Int {
    // Escribe el código aquí
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Playground de Kotlin