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

פונקציות מתקדמות
פונקציות פולימורפיות

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

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

Guide

מטרה

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

בקרוב יהיו כמה גידולים שצריך לקצור כדי שניתן יהיה לשלוח אותם למכירה. החזירונים גם זקוקים למשלוח מזון, ולכן כדאי לבדוק כמה מזון יש להזמין. כדי לבצע משימות אלו ניתן להשתמש בפונקציות פולימורפיות, ובמקרה זה נשתמש בפונקציה len().

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

ישנם כמה חזירונים בתוך כלוב בצד הכביש, שמותיהם הם "Peggle", "Peter", "Piper", "Pedro". הכנס את שמותיהם לרשימה כדי שתוכל לספור אותם. כך: piglets = ["Peggle", "Peter", "Piper", "Pedro"]. צור משתנה בשם number כדי לאחסן את אורך הרשימה באמצעות הפונקציה len(), כך: number = len(piglets).

לאחר שהגדרת את הרשימה והמשתנה, לך אל סימן ה-X הכהה שמול כלוב החזירונים, פנה כלפי הכלוב והשתמש בפונקציית speak() לספירת החזירונים. השתמש במשתנה number כדי לקבל את התוצאה, כך: player.speak("There are d% Piglets" % (number) )

לאחר שסיימת לבדוק את החזירונים, לך לסימן ה-X הבהיר שבקרבת השדה, פנה אל הגידולים וספור אותם. ישנם שלושה סוגים שונים של גידולים: "Tomatoes", "Pumpkins", "Eggplant". ספר כמה גידולים מכל סוג קיימים ואחסן אותם במילון, כך:

crops = {} crops["Tomato"] = number of tomato crops crops["Pumpkin"] = number of Pumpkin crops crops["Eggplant"] = number of Eggplant crops

לאחר שמילאת את המילון בערכים הנכונים, השתמש בפונקציית speak() יחד עם הפונקציה len() לספירת מספר סוגי הגידולים הזמינים, כך: player.speak("There are d% types of crops" % ( len(crops) ) ).

לאחר שספרת את החזירונים ואת הגידולים, לך לסימן ה-X הכהה על המחצלת הסגולה כדי לבדוק את ההזמנות של הגידולים שאמורים להישלח. ישנה קבוע משתנה בשם order שמכיל מחרוזת עם ההזמנות של הגידולים שצריך לשלוח. עלינו לברר מהם ההזמנות וכמה הזמנות יש לנו, ניתן לעשות זאת באמצעות פונקציית speak() עם פירוק המחרוזת וכן באמצעות הפונקציה len().

player.speak( [*order] ) player.speak("There are d% orders of crops going out" % ( len(order) ) )

בשימוש במשתנה המחרוזת בתוך סוגריים מרובעים עם * אנו מפעילים אופרטור שמפרק את המחרוזת. לדוגמה: [*string]. מה שנעשה הוא לקחת את המחרוזת ולהפריד כל תו בודד ולהכניס אותו לרשימה, לדוגמה: [*string] תפיק רשימה ['s', 't', 'r', 'i', 'n', 'g']. במקרה של שימוש ב-len() על מחרוזת, היא תספור כמה תווים יש במחרוזת.

לסיום התרגיל, לך לסימן ה-X הזהוב בצד הימני של המחסן, וקבע כמה פאונדים של מזון צריכים להימסר לחזירונים. צור משתנה בשם food והשתמש במשתנה number שיצרת קודם כדי להכפיל אותו ב-35 ולקבוע את כמות הפאונדים, כך: food = number * 35.

בעת פניה למחסן, השתמש בפונקציית speak() יחד עם המשתנה food כדי לקבוע את כמות המזון המגיע, כך: player.speak("There are d% pounds of food coming in" % (food) ).

ספר קוד