Switch עם טווחים
חלק מהיחידה יסודות במסלול ה-Swift של Coddy. שיעור 30 מתוך 86.
הוראות switch נעשות עוצמתיות עוד יותר כשמשתמשים בטווחים במקום בערכים בודדים. זה מושלם לסיווג מספרים לקבוצות, כמו המרת ציון לדרגה.
let score = 85
switch score {
case 90...100:
print("A")
case 80..<90:
print("B")
case 70..<80:
print("C")
case 60..<70:
print("D")
default:
print("F")
}האופרטור ... יוצר טווח סגור הכולל את שני הקצוות, ולכן 90...100 מתאים ל־90, ל־91, וכן הלאה עד 100. האופרטור ..< יוצר טווח חצי־פתוח שאינו כולל את הגבול העליון: 80..<90 מתאים לערכים מ־80 עד 89.
Swift בודקת כל מקרה לפי הסדר ומבצעת את הראשון שמתאים. מכיוון שהציון שלנו הוא 85, הוא נמצא בטווח 80..<90, ולכן מודפסת האות "B". הגישה הזו נקייה הרבה יותר מכתיבת כמה תנאי else if עם אופרטורי השוואה.
אתגר
קלכתבו פונקציה getAgeCategory שמקבלת את age ומחזירה את קטגוריית שלב החיים בהתאם לטווחי גיל.
השתמשו במשפט switch עם טווחים כדי לסווג את הגיל לאחד מחמישה שלבי חיים.
תנאים:
0...2- החזירו"Infant"3...12- החזירו"Child"13...19- החזירו"Teenager"20...64- החזירו"Adult"65...120- החזירו"Senior"- כל ערך אחר - החזירו
"Invalid age"
פרמטרים:
age(Int): הגיל של האדם
ערך מוחזר: קטגוריית שלב החיים כמחרוזת
נסו בעצמכם
func getAgeCategory(age: Int) -> String {
// כתבו כאן את הקוד
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
7קלט/פלט בסיסי
פונקציית ההדפסהאינטרפולציה של מחרוזותקלט באמצעות ReadLineהמרת טיפוסיםחזרה – עד 120חזרה – אמת או שקר3ערכים אופציונליים
מהם ערכים אופציונלייםשליפת ערך באמצעות If LetGuard Letאופרטור איחוד עם Nilסיכום – שליפה בטוחה של ערך9לולאות
לולאת For-Inלולאת Whileלולאת Repeat-WhileBreakContinueחזרה – עצרתטווחים בלולאותלולאה מקוננתחזרה – קלט דינמיתרגלו בעצמכם: Swift אונליין