טווחים ב-Switch
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Swift של Coddy. שיעור 10 מתוך 56.
השתמשת ב-switch עם טווחים ביסודות. אותו טריק מתאים גם לבעיות סיווג אמיתיות, שבהן כל מקרה מכסה טווח של ערכים.
let temp = 22
switch temp {
case ..<0: print("freezing")
case 0..<10: print("cold")
case 10..<20: print("mild")
case 20..<30: print("warm")
default: print("hot")
}
// חמיםה-case ..<0 הראשון משתמש בצורה של טווח חד-צדדי: "כל ערך שקטן מ-0 בלבד". אפשר להשתמש גם ב-0... במשמעות "0 או יותר".
המקרים נבדקים מלמעלה למטה, וההתאמה הראשונה היא הקובעת, לכן סדרו אותם מהנמוך לגבוה (או השתמשו ב־default למקרה הכללי).
אתגר
מתחיליםקרא מספר שלם יחיד מהקלט: טמפרטורה במעלות צלזיוס. הדפס אחת מהתוויות האלה באמצעות switch יחיד עם מקרי טווח:
- מתחת ל־
0(מספרים שליליים):freezing 0...9:cold10...19:mild20...29:warm30...39:hot40ומעלה:scorching
עבור הקלט 22, הפלט הוא warm.
נסו בעצמכם
let temp = Int(readLine()!)!
// TODO: בצעו switch על temp באמצעות טווחים, והדפיסו את התווית המתאימה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
תרגלו בעצמכם: Swift אונליין