טווחים בלולאות
חלק מהיחידה יסודות במסלול ה-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() על טווח. הטכניקה הזו מתאימה במיוחד לספירה לאחור או כשצריך לעבד פריטים מהאחרון לראשון.
אתגר
קלכתבו פונקציה 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 {
// כתבו כאן קוד
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
7קלט/פלט בסיסי
פונקציית ההדפסהאינטרפולציה של מחרוזותקלט באמצעות ReadLineהמרת טיפוסיםחזרה – עד 120חזרה – אמת או שקר3ערכים אופציונליים
מהם ערכים אופציונלייםשליפת ערך באמצעות If LetGuard Letאופרטור איחוד עם Nilסיכום – שליפה בטוחה של ערך9לולאות
לולאת For-Inלולאת Whileלולאת Repeat-WhileBreakContinueחזרה – עצרתטווחים בלולאותלולאה מקוננתחזרה – קלט דינמיתרגלו בעצמכם: Swift אונליין