קורס פיתוח בפייתון
פרק
>
רמה
שימוש במילונים
חזרה על מילונים
מטרה
שחזר את כל החומרים בשטח ובצע מיפוי מלאי של כל הפריטים שנאספו לפני שמסדרים אותם במכלים ספציפיים.
סערה הרסה את המחנה הקטן ליד הגשר ופזרה חומרים בכל מקום, אני בטוח שניתן יהיה להשתמש בחומרים אלה בהמשך. בצע מיפוי מלאי עבור כל האובייקטים שתאסוף והנח אותם במחסן שמצד הגשר.
ראשית, אסוף את כל הריסות שנפזרו בשטח, שאלה הם: "branches" , "boulders" ו- "planks". לאחר שאספת את כל הפריטים, הכנס אותם למילון בשם materials והוסף את שמות החומרים וכמויותיהם (שלושת 3) לתוכו.
materials = {} materials["branches"] = number of branches collected ......
לאחר שהכל הוכנס למילון, פנה לסימן X המואר ובצע מיפוי מלאי עבור כל החומרים שאספת באמצעות לולאת for יחד עם הפונקציה speak(). מכיוון שמילונים שונים מרשימות, לא ניתן לעבור עליהם בסדר רגיל, אלא למילונים יש שיטה משלהם למעבר עליהם.
for name, number in materials.items(): player.speak("There were %d %s collected" % ( number, name))
על ידי הגדרת שני משתנים, במקרה זה name ו- number, ניתן לקבל את שני השדות במילון. שימוש במשפט in בעקבות שם המילון והפונקציה items() מאפשר לעבור על המילון כמו על לולאת for רגילה.
לאחר ביצוע המיפוי, פנה לסימני X האפלים ואחסן את החומרים שאספת מהמילון בתוך המכלים באמצעות הפונקציה place(), כך: player.place(materials["branches"]). ישנם שלושה סימני X אפלים; במכל השמאלי הנח את "branches", במכל האמצעי הנח את "boulders" ובמכל הימני הנח את "planks". סדר את הכל במקומות הנכונים כדי להשלים את השלב.