Coding for KidsCoding for Kids
שלבים יצירתייםאתגריםמדריך למורים
הצבע על תכונות
קורס פיתוח מתקדם בפייתון
פרק
>
רמה

רשימות מתקדמות
יצירת רשימה מקוננת

מטרה

ארגן את התבלינים בצורה נכונה במדף התבלינים על ידי שימוש ברשימות מקוננות.

אחד ממדפי התבלינים ריק וצריך להתמלא מחדש כראוי. ישנם תבלינים במלאי, אך הם צריכים להיות מותאמים, מאורגנים ומונחים כהלכה במדף התבלינים.

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

כדי לאחסן את התבלינים, עליך תחילה לתפוס צנצנות לצורך אחסון הפריטים בצורה נכונה. עבור לסימן X הזהוב, פנה אל הקופסא והשתמש בפונקציית collect() כדי לתפוס את "empty jar" במטרה להקל על האחסון.

לאחר איסוף הצנצנות, עבור לסימני X הבהירים שנמצאים מול הקופסאות העץ. בשלב זה קיימים ארבע (4) קבועי רשימות, אחד עבור כל קופסא, והם: crate1, crate2, crate3 ו-crate4. השתמש בפונקציית speak() יחד עם קבועי הרשימות כדי לברר את תכולת כל קופסא. הקבועים מתאימים לסדר הקופסאות מימין לשמאל, לדוגמה: player.speak(crate1).

לאחר קביעת תכולת הקופסאות, השתמש בList Comprehensions כדי ליצור רשימות חדשות ללא פריטים מיותרים הנמצאים בקבועי הרשימות. אם תכולת קופסא כוללת: "package", "string" או "stuffing", השתמש באותה נוסחה כמו בפרק הקודם כדי לארגן את הרשימות, לדוגמה:

crate1 = ["bay herb", "cilantro herb", "ginger herb", "oregano herb", "string"] herbs = [x for x in crate1 if not "string" in x]

הקוד לעיל ייצור רשימה חדשה עם פריטים שאינם כוללים את המילה "string". על הרשימות להיקרא: herbs, spices, salts ו-sugars – תדע איזו רשימה תקבל את השם בהתאם לפריטים שבתוכה.

לאחר יצירת כל ארבע הרשימות, הגיע הזמן לשלב אותן לתוך רשימה מקוננת. צור רשימה בשם seasonings והוסף לחלופה את הרשימות שיצרת, כך:

seasonings = [ ] seasonings.append(herbs) .......

לאחר שכל הפריטים משולבים בהרשימה המקוננת, עבור לסימן X הכהה על השטיח הירוק ופנה אל המדף. השתמש בפונקציית speak() יחד עם רשימת התבלינים המקוננת seasonings כדי לאשר את הפריטים על כל מדף. לאחר מכן, השתמש בפונקציית place() עם הרשימה כדי להשלים את השלב, כך: player.speak(seasonings).

ספר קוד