קורס פיתוח מתקדם בפייתון
פרק
>
רמה
רשימות מתקדמות
יצירת קבוצה
מטרה
ארגן את התבלינים בארון לקטגוריות מתאימות ואחסן אותם על המדפים תוך שימוש בקבוצות.
ישנם מספר תבלינים המאוחסנים בארון, כולם מוכנים לשימוש אך הם מבולגנים ולא נגישים בקלות. יש לפזר אותם כראוי על המדפים הריקים שלידם אשר כבר התרוקנו.
התבלינים מפוזרים בשלוש (3) רשימות שניתן לארגן מחדש באמצעות קבוצות. קבוצות הן רשימות שאין בהן פריטים שחוזרים על עצמם, ניתן גם למיין אותן בסידורים שונים ולהשוות אותן לקבוצות אחרות כדי למצוא או להדגיש פריטים מסוימים.
ישנן שלוש רשימות קבועות המאוחסנות בארון, אשר נקראות: condiments1 , condiments2 ו- condiments3. לך אל סימן ה-X המואר כדי לבדוק את תוכן הרשימות באמצעות פונקציית speak() ואסוף את שלוש (3) הרשימות באמצעות פונקציית collect(), כך: player.speak(condiments1),player.collect(condiments1) .
קבוצות נוצרות על ידי כתיבת set() עם הרשימה או פריטי הרשימה כארגומנט, ולאחר מכן הקצאת שם לקבוצה. צרו שלוש (3) קבוצות בשם: set1 , set2 ו- set3, והקצו להן את קבועי הרשימות המתאימים, לדוגמה: set1 = set(condiments1) .
לאחר האיסוף, לך אל סימן ה-X האפל מעל השטיח הירוק, פנה לשולחן וסנן את הרשימות דרך קבוצות. השתמש בפונקציית speak() עם כל שלוש קבוצות שיצרת, לדוגמה: player.speak(set1) .
לאחר מכן, לך אל סימן ה-X האפל מעל השטיח הכחול ואחד את הפריטים על ידי בדיקה אילו תבלינים קיימים בכל שלוש (3) הרשימות. עשה זאת באמצעות השיטה intersection(), המאפשרת לך להשוות את קבוצות ולמצוא את הפריטים הקיימים בכלן. תן לשם ה-set המתקבל duplicates ואחד, כך: duplicates = set1.intersection(set2,set3) , והשתמש בפונקציית speak() כדי לאמת את ה-set המתקבל.
לך אל השטיח האדום עם סימן ה-X האפל ואחד את כל שלוש קבוצות לקבוצה אחת, הדבר נעשה באמצעות השיטה union(). היא משמשת באותה מידה כמו השיטה intersection() אך במקום זאת אוספת את כל הפריטים מכל שלוש (3) קבוצות וממקמת אותם בקבוצה אחת ללא כפילויות. תן לשם ה-set המתקבל all_items ואחד, כך: all_items = set1.union(set2,set3) , והשתמש בפונקציית speak() כדי לאמת את ה-set המתקבל.
לאחר שאיחדת את כל הפריטים, לך אל סימן ה-X הזהב ופנה אל המדפים, והשתמש בפונקציית place() כדי למקם את כל התבלינים על המדף הריק על מנת להשלים את השלב, כך: player.place(all_items) .