Menu
Coddy logo textTech

מאפייני רשימה: ראשון ואחרון

חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-Dart של Coddy. שיעור 1 מתוך 65.

בעבודה עם רשימות, לעיתים קרובות צריך לגשת לאיבר הראשון או האחרון. במקום להשתמש במספרי אינדקס כמו [0] או [list.length - 1], Dart מספקת שתי תכונות נוחות שהופכות את זה לפשוט הרבה יותר.

המאפיין .first נותן לך את האיבר הראשון ברשימה, ואילו המאפיין .last נותן לך את האיבר האחרון. המאפיינים האלה קריאים יותר ופחות מועדים לשגיאות מחישוב מיקומי האינדקס.

List<String> planets = ['Mercury', 'Venus', 'Earth', 'Mars'];

String firstPlanet = planets.first;   // 'Mercury'
String lastPlanet = planets.last;     // 'Mars'

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

challenge icon

אתגר

קל

צרו תוכנית שמנתחת רשימת השמעה באמצעות גישה לשירים הראשון והאחרון. התוכנית שלכם צריכה:

  1. לקרוא קלט מסוג מחרוזת שמייצג את שם רשימת ההשמעה
  2. לקרוא כמה קלטים מסוג מחרוזת שמייצגים את שמות השירים (הקלט יסתיים כשתקבלו מחרוזת ריקה)
  3. להשתמש במאפיין .first כדי לקבל את השיר הראשון ברשימת ההשמעה
  4. להשתמש במאפיין .last כדי לקבל את השיר האחרון ברשימת ההשמעה
  5. להדפיס את ניתוח רשימת ההשמעה בפורמט המדויק שמוצג למטה

לדוגמה, אם שם רשימת ההשמעה הוא "My Favorites" והשירים הם "Bohemian Rhapsody", "Imagine", "Hotel California", התוכנית שלכם צריכה להציג:

Playlist: My Favorites
Total songs: 3
Opening track: Bohemian Rhapsody
Closing track: Hotel California

התוכנית שלכם חייבת לטפל ברשימות השמעה עם כל מספר של שירים ולהשתמש במאפיינים .first ו-.last כדי לגשת לרצועות הפותחת והסוגרת.

נסו בעצמכם

import 'dart:io';

void main() {
  // קרא את שם רשימת ההשמעה
  String? playlistName = stdin.readLineSync();
  
  // קרא שירים עד למחרוזת ריקה
  List<String> songs = [];
  String? song;
  while ((song = stdin.readLineSync()) != null && song!.isNotEmpty) {
    songs.add(song);
  }
  
  // TODO: כתוב את הקוד שלך למטה
  // השתמש ב-songs.first וב-songs.last כדי לקבל את השיר הפותח ואת השיר המסיים
  
  // הצג את ניתוח רשימת ההשמעה
  print("Playlist: $playlistName");
  print("Total songs: ${songs.length}");
  // הדפס כאן את השיר הפותח ואת השיר המסיים
}
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה לוגיקה וזרימת התוכנית

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