Menu
Coddy logo textTech

טווחים בלולאות

חלק מהיחידה יסודות במסלול ה-Swift של Coddy. שיעור 48 מתוך 86.

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

אופרטור הטווח הסגור (...) כולל את שני הקצוות:

for i in 1...3 {
    print(i)
}
// פלט: 1, 2, 3

אופרטור טווח פתוח למחצה (..<) אינו כולל את הגבול העליון, דבר שימושי במיוחד כשעובדים עם אינדקסים שמתחילים ב־0:

for i in 0..<3 {
    print(i)
}
// פלט: 0, 1, 2

לפעמים צריך לעבור בלולאה בסדר הפוך. המתודה reversed() מאפשרת לך לעבור על טווח בסדר הפוך:

for i in (1...3).reversed() {
    print(i)
}
// פלט: 3, 2, 1

שימו לב לסוגריים סביב הטווח: הם נדרשים כשקוראים ל־reversed() על טווח. הטכניקה הזו מתאימה במיוחד לספירה לאחור או כשצריך לעבד פריטים מהאחרון לראשון.

challenge icon

אתגר

קל
כתבו פונקציה countdown שמקבלת את n ומחזירה מחרוזת שמכילה ספירה לאחור מ־n עד 1, ואחריה "Go!".

השתמשו בשיטה reversed() על טווח כדי לעבור על הערכים לאחור ולבנות את מחרוזת הספירה לאחור.

לוגיקה:

  • צרו טווח מ־1 עד n והפכו את הסדר שלו
  • בנו מחרוזת שבה כל מספר מופרד באמצעות תו של שורה חדשה
  • הוסיפו "Go!" בשורה האחרונה

פרמטרים:

  • n (Int): מספר ההתחלה של הספירה לאחור (1 או יותר)

ערך מוחזר: מחרוזת שבה כל מספר בספירה לאחור מופיע בשורה משלו, ומסתיימת ב־"Go!" (String). פורמט:

3
2
1
Go!

לדוגמה, אם n הוא 3, הפונקציה מחזירה "3\n2\n1\nGo!".

נסו בעצמכם

func countdown(n: Int) -> String {
    // כתבו כאן קוד
}
quiz iconבחנו את עצמכם

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

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

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