Menu
Coddy logo textTech

When z zakresami

Część sekcji Podstawy ścieżki Kotlin w Coddy. Lekcja 33 z 93.

Czasami trzeba sprawdzić, czy wartość mieści się w zakresie, zamiast dopasowywać konkretne wartości. Wyrażenie when obsługuje to za pomocą słowa kluczowego in połączonego z zakresami.

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)  // Wypisuje: B
}

Słowo kluczowe in sprawdza, czy wartość mieści się w określonym zakresie. Tutaj 85 mieści się w zakresie 80..89, więc ocena to „B”. Jest to znacznie czytelniejsze niż zapisywanie score >= 80 && score <= 89 dla każdego warunku.

Możesz także łączyć zakresy z konkretnymi wartościami w tym samym wyrażeniu when:

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

Zakresy sprawiają, że kod jest bardziej czytelny podczas pracy z ciągłymi warunkami liczbowymi, co często zdarza się w systemach oceniania, kategoriach wiekowych i podobnych sytuacjach.

challenge icon

Wyzwanie

Łatwy

Napisz funkcję getTicketPrice, która przyjmuje age i zwraca cenę biletu w zależności od kategorii wiekowej danej osoby.

Użyj wyrażenia when z zakresami, aby określić odpowiednią cenę biletu.

Warunki:

  • Wiek od 0 do 3: zwróć 0 (bezpłatnie)
  • Wiek od 4 do 12: zwróć 10 (cena dla dziecka)
  • Wiek od 13 do 17: zwróć 15 (cena dla nastolatka)
  • Wiek od 18 do 64: zwróć 25 (cena dla osoby dorosłej)
  • Wiek 65 i więcej: zwróć 12 (cena dla seniora)

Parametry:

  • age (Int): Wiek danej osoby

Zwraca: Cenę biletu jako liczbę całkowitą (Int)

Spróbuj swoich sił

fun getTicketPrice(age: Int): Int {
    // Napisz kod tutaj
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Kotlin