Menu
Coddy logo textTech

When עם טווחים

חלק מהיחידה יסודות במסלול ה-Kotlin של Coddy. שיעור 33 מתוך 93.

לפעמים צריך לבדוק אם ערך נמצא בטווח, במקום לבדוק אם הוא תואם לערכים מסוימים. הביטוי when תומך בכך באמצעות מילת המפתח in בשילוב עם טווחים.

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)  // מדפיס: B
}

מילת המפתח in בודקת אם הערך נמצא בטווח שצוין. כאן, 85 נמצא בטווח 80..89, לכן הציון הוא "B". זה הרבה יותר נקי מכתיבת score >= 80 && score <= 89 עבור כל תנאי.

אפשר גם לשלב טווחים עם ערכים ספציפיים באותו ביטוי when:

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

טווחים הופכים את הקוד שלך לקריא יותר כשעובדים עם תנאים מספריים רציפים, דבר הנפוץ במערכות ציונים, בקטגוריות גיל ובתרחישים דומים.

challenge icon

אתגר

קל

כתבו פונקציה getTicketPrice שמקבלת את age ומחזירה את מחיר הכרטיס בהתאם לקטגוריית הגיל של האדם.

השתמשו בביטוי when עם טווחים כדי לקבוע את מחיר הכרטיס המתאים.

תנאים:

  • גיל 0 עד 3: החזירו 0 (חינם)
  • גיל 4 עד 12: החזירו 10 (מחיר לילד)
  • גיל 13 עד 17: החזירו 15 (מחיר לנער)
  • גיל 18 עד 64: החזירו 25 (מחיר למבוגר)
  • גיל 65 ומעלה: החזירו 12 (מחיר לאזרח ותיק)

פרמטרים:

  • age (Int): הגיל של האדם

ערך מוחזר: מחיר הכרטיס כמספר שלם (Int)

נסו בעצמכם

fun getTicketPrice(age: Int): Int {
    // כתבו כאן קוד
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: Kotlin אונליין