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

מחלקות מתקדמות
העמסת השוואות

מטרה

בדוק וסווג משלוחים כהלכה באמצעות Comparison Overloading.

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

ישנן שלוש (3) הזמנות באזור, כאשר בכל אחת מהן שתי (2) חביות. לכל הזמנה יש שלט המיועד להציג את יחס המשקל של החביות בהזמנה. קיימת מחלקה שמוגדרת בעורך בשם barrel המאפשרת שימוש בComparison Overloading. בנוסף, מוגדרות בעורך שלוש (3) פונקציות: less_than(), greater_than(), equal_to(). פונקציות אלו משמשות לתעד את יחס המשקל על השלטים.

התחל בהליכה אל סימוני ה-X הכהים והבהירים על השטיח האדום והתמודד עם החביות. השתמש בפונקציה read() כדי לברר את שם היין שבחבית וכן את משקלה, כך: await player.read(). צור אובייקטים עבור החבית הכהה והבהירה, תוך שימוש במחלקת barrel, והוסף את המידע שזיהית מהפונקציה read(). לאחר יצירת האובייקטים, צור אובייקט נוסף שמשווה בין שני האובייקטים. לדוגמה:

red_barrel_dark = barrel("Wine name", 000) red_barrel_light = barrel("Wine name", 000) red_barrel_compare = red_barrel_dark < red_barrel_light

ודא ששם היין באובייקט מחלקת barrel נכתב בדיוק כפי שהוא מופיע בהודעה כאשר אתה משתמש בread().

צור את האובייקטים לפי תקני השמות בהתאם לשטיח ולסימן ה-X הצבעוני. עבור השטיח האדום, בעת השוואת החביות השתמש באופרטור < כדי לבדוק אם החבית הכהה שוקלת פחות מהחבית הבהירה. לסיום קטע זה, עבור אל סימן ה-X הזהב מעל השטיח האדום והתמודד עם השלט. השתמש בפונקציה less_than() עם אובייקט ההשוואה כדי לתעד את יחס המשקל של החביות, כך: less_than(red_barrel_compare).

לאחר מכן עבור אל סימוני ה-X הכהים והבהירים מעל השטיח הירוק וחזור על אותו תהליך. השתמש בפונקציה read() על סימוני ה-X הכהים והבהירים וצור אובייקטים מתאימים עם המידע. עבור אובייקט ההשוואה של השטיח הירוק, הפעם נשתמש באופרטור > כדי לבדוק אם החבית הכהה שוקלת יותר מהחבית הבהירה. עבור אל סימן ה-X הזהב מעל השטיח הירוק והתמודד עם השלט. השתמש בפונקציה greater_than() עם אובייקט ההשוואה כדי לתעד את יחס המשקל של החביות, כך: greater_than(green_barrel_compare).

עבור אל סימוני ה-X הכהים והבהירים מעל השטיח הכחול וחזור על אותו התהליך. השתמש בפונקציה read() על סימוני ה-X הכהים והבהירים וצור אובייקטים מתאימים עם המידע. עבור אובייקט ההשוואה של השטיח הכחול, הפעם נשתמש באופרטור == כדי לבדוק אם החבית הכהה שוקלת באותה מידה כמו החבית הבהירה. עבור אל סימן ה-X הזהב מעל השטיח הכחול והתמודד עם השלט. השתמש בפונקציה equal_to() עם אובייקט ההשוואה כדי לתעד את יחס המשקל של החביות, כך: equal_to(blue_barrel_compare).

לאחר שכל ההזמנות סווגו, עבור אל סימן ה-X הזהב מעל השטיח הכתום ביציאת הדוק. התמודד עם השלט והשתמש בפונקציה write() כדי לתעד את מה שנמצא בכל הזמנה. רשום את שמות כל החביות לפי האובייקטים שיצרת, לדוגמה, עבור חביות השטיח האדום: red_barrel_dark.name , red_barrel_light.name. בצע זאת עבור כל ששת החביות כדי להשלים את הרמה.

ספר קוד