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

מודולים מתמטיים
מודול אופרטורים

מטרה

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

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

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

  • operators.eq(): מקבל שני ארגומנטים, בודק האם שני הארגומנטים שווים זה לזה.
  • operators.lt(): מקבל שני ארגומנטים, בודק האם הארגומנט הראשון קטן מהשני.
  • operators.gt(): מקבל שני ארגומנטים, בודק האם הארגומנט הראשון גדול מהשני.
  • operators.floordiv(): מקבל שני ארגומנטים, מחלק את הארגומנט הראשון בשני ומיישם את המקבילה של math.floor(), מעגל את התוצאה כלפי מטה.
  • operators.mod(): מקבל שני ארגומנטים, מחזיר את השארית של החלוקה בין שני הארגומנטים.
  • operators.contains(): הפונקציה משמשת עם רשימה, מקבלת שני (2) ארגומנטים, כאשר הארגומנט הראשון הוא רשימה, והשני הוא ערך שברצונך לבדוק אם הוא בתוך הרשימה. מחזירה: true או false בהתאם לקיומו של הערך.
  • operators.concat(): מקבל שני ארגומנטים מסוג רשימה, מאחד את שתי הרשימות יחד באמצעות פונקציה נקייה אחת, וייתכן שמהירה יותר משיטות אחרות.
  • operators.countOf(): מקבל שני ארגומנטים, רשימה וערך, ובודק כמה פעמים מופיע הערך ברשימה. מחזיר את מספר המופעים של הערך.

כדי להתחיל, עבור אל סימן ה-X האפל שעל השטיחים האדום, כחול וירוק. קיימים שישה (6) קבועים: red_order, blue_order, green_order, שהם ההזמנות לחומרים ו- red_req, blue_req, green_req שהם הכמויות הנדרשות לבנייה.

בסימן ה-X האפל שעל השטיח האדום, השתמש בפונקציה read() כדי לבדוק את הכמות הנדרשת של החומרים. צור משתנה בשם red_verification והשתמש בפונקציה operator.eq() עם הקבועים red_order ו-red_req, כך: red_verification = operator.eq(red_order,red_req). לאחר מכן, באמצעות הפונקציה הכתובה מראש write(), השתמש ב-red_verification להצגת התוצאה.

בסימני ה-X הכחול והירוק, חזור על אותו תהליך: השתמש בפונקציה read() וצור את המשתנים blue_verification ו-green_verification. עבור המשתנה הכחול, אחסן את ערך operator.lt() תוך שימוש בקבועים blue_order ו-blue_req כדי לבדוק אם ההזמנה קטנה ממה שנדרש. עבור המשתנה הירוק, אחסן את ערך operator.gt() תוך שימוש בקבועים green_order ו-green_req כדי לבדוק אם ההזמנה גדולה מהחומרים הנדרשים. השתמש בפונקציות write() הכתובות מראש עם פונקציות האימות המתאימות לשטיחים הצבעוניים.

לאחר מכן, עבור אל סימן ה-X הבהיר ועל השולחן השתמש בפונקציה read() כדי לבדוק הזמנות שכבר הוזמנו ונמצאות בדרכן. בספר ההזמנות תמצא את הערכים של שני קבועים: main_order ו-sub_order, וכן את מספר הקטעים בהם יש לחלק את החומרים. לאחר קריאת ספר ההזמנות, צור משתנה בשם allocations ואחסן בו את ערך operator.floordiv() כדי לחלק את ערך main_order במספר הקטעים המתואר בספר, כך: allocations = operator.floordiv(main_order, -add sections-). פעולה זו תחלק את ההזמנה ותעגל את התוצאה כלפי מטה. השתמש בפונקציה הכתובה מראש write() עם המשתנה allocations לתיעוד התוצאה.

עבור אל סימן ה-X הזהבי וצור משתנה בשם remainder, אחסן בו את תוצאת operator.mod() והוסף את שני הקבועים main_order ו-sub_order כדי לחשב את השארית של שתי ההזמנות. על השולחן, השתמש בפונקציה write() הכתובה מראש והעבר את המשתנה remainder לתיעוד התוצאה.

צא אל סימן ה-X האפל שעל השטיח הסגול, כאן נבצע וידוא למשלוח הכלים הנדרשים לבנייה. יש לנו שני קבועים מסוג רשימה, delivery_1 ו-delivery_2, ונבדוק אם הכלים סופקו במשלוח הראשון. צור משתנה בשם tools ואחסן בו את תוצאת operator.contains(), כאשר כארגומנט ראשון תעביר את הרשימה delivery_1 וכארגומנט שני את המחרוזת “tools”. פעולה זו תבדוק אם הכלים קיימים במשלוח, כך: tools = operator.contains(delivery_1,"tools"). לאחר מכן, על השולחן, השתמש בפונקציה write() הכתובה מראש עם המשתנה tools לתיעוד האם הכלים סופקו בהצלחה.

לאחר מכן, נבדוק את כל המשלוחים. עבור אל סימן ה-X האפל שעל השטיח הלבן וצור רשימה בשם materials. השתמש ברשימה זו לאחסון ערך של operator.concat(), תוך שימוש ברשימות delivery_1 ו-delivery_2 כארגומנטים. פעולה זו מאחדת במהירות את שתי הרשימות לרשימה אחת. על השולחן, השתמש בפונקציה write() הכתובה מראש עם המשתנה materials כדי לתעד את כל החומרים שכבר סופקו לבנייה.

לבסוף, עבור אל סימן ה-X האפל שעל השטיח הכתום. כאן כתובים כמה תנאים מוקדמים להתחלת הבנייה, ואחת מההערות המרכזיות היא כמה עץ נדרש בתחילת התהליך (במטון). בדוק כמה עץ סופק בכל המשלוחים והכרז על כך, תוך שימוש בפונקציה speak() יחד עם הפונקציה operator.countOf(). עבור הארגומנט הראשון, העבר את רשימת materials שיצרת ואחריו את המחרוזת “wood”; פעולה זו תחזיר את מספר הופעות העץ ברשימת materials. פעולה זו ממחישה כיצד ניתן להשתמש בפונקציות האופרציה באופן עצמאי, ללא הצורך ביצירת אובייקט לאחסון הערכים, כך: player.speak(operator.countOf(materials,"wood")). פעולה זו תסיים את הרמה.

ספר קוד