תיקונים למחברות – שבוע 7

תגיות:

שאלה בנוגע לתיעוד:
בקשר לתרגיל אורטל קומבט, הפעולה attack אמורה לעשות כל מני דברים, אבל אני לא ראיתי צורך בהכרח בהחזרת ערך מסויים. אם זה נכון שאין ערך מוחזר, כשאני מתעד אני יכול פשוט לדלג על החלק של ‘returns’?

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

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

אשמח לדעת איפה זה כתוב, כי לא ראיתי את זה בשום מקום

הבנתי. שאלה בקשר לנושא: בכל פונקצייה שאני כותב, אני חייב בסוף לכתוב returns none? או שאם אני לא רושם כלום זה בעצם שווה ערך לreturns none?

תיעוד כשחוזר None

לייק 1

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

אם יש פעולה שגם לא מקבלת ארגומנטים, אצטרך להוסיף גם בתיעוד args: none? או שבמקרה הזה פשוט לא לציין args?

עוד שאלה: כשאני מגיש את התרגיל צב שלוח, אני צריך להגיש את זה ביחד עם הקוד הקיים? או שרק את החלק שאני מוסיף?

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

לייק 1

בתיעוד שקיבלנו בדוגמה של בpost office קיבלנו את הדוגמה הבאה:
>>> po_box = PostOffice([‘a’, ‘b’])
>>> message_id = po_box.send_message(‘a’, ‘b’, ‘Hello!’)
>>> len(po_box[‘b’])
1

כשאני מריץ את זה בעצמי בשביל לבדוק, אני מקבל:
TypeError: ‘PostOffice’ object is not subscriptable
אני קצת מסתבך בהמשך התיעודים מאחר והם מבוססים על הדוגמה שקיבלנו…
אשמח אם מישהו יוכל לחדד לי פה את הנקודת מבט.
תודה

ראה תיקון 1 של מחברת 2 בפוסט המקורי בשרשור

לייק 1

מחברת 3: במחלקת Dish מבקשים שניצור פונקציה בשם “calculate_calories”. במימוש ובדברי ההסבר, השם של הפונקציה “get_total_calories”.

2 לייקים

יותר הצעה לגבי Dish
לא יהיה “נכון יותר”, לשים את is_vegetarian, בסוף רשימת המשתנים עם ערך ברירת מחדל?
רוב המנות של “אל קאובוי” יוגדרו אוטומטית כ-“לא צמחוני”
לעומת המנות של “הירקות של ענת” שיוגדרו כולן “כן צמחוני”
?

אני רק רוצה להגיד שב-100g מלון יש פחות מחצי מכמות הקלוריות שיש בבננה, והם גם בעלי נפח גדול יותר משל 100g בננה, ושזה אחלה בחלה של פרי, שנחשב למאוד דיאטתי, ושזה שהמחברת מציינת שיש לו…29% שומן (:scream:) זה עוול לאחד מן הפירות הכי נשנישים שיש! :frowning:

4 לייקים

מחברת שלוש, שאלה אורטל קומבט – חלק 2:

make_move – גורמת לשחקן שתורו כעת להפעיל פעולת attack ללא פרמטרים.
אם הפעולה attack החזירה None, השחקן יבחר אויב חי אקראי מהזירה ויתקוף אותו.
בסוף הפעולה, התור מועבר לשחקן הבא.

מניח שהכוונה מחזיר False ולא None

או לחילופין שינוי פה:

במחלקת Player שבניתם, שנו את הפעולה attack.
אם הפעולה לא מקבלת פרמטרים ואין לשחקן אויבים, היא תחזיר False במקום לזרוק IndexError.
אם התקיפה הצליחה, הפעולה תחזיר True.

לייק 1

תודה, תיקנתי :slight_smile:

אין לזה צורה

בתרגיל זה נממש טיפוס חדש מסוג Rectangle, הבנוי משתי נקודות:

  • נקודה הממוקמת בחלק השמאלי־תחתון של המלבן (נקודת ההתחלה start_point).
  • נקודה הממוקמת בחלק הימני תחתון של המלבן (נקודת הסיום end_point).

פעולות המלבן הן:

  • get_surface – מחזירה את שטח המלבן.
  • get_perimeter – מחזירה את היקף המלבן.
  • randomize_start_point – מגרילה שני מספרים בין 1 ל־100 וקובעת אותם כ־x וכ־y של הנקודה השמאלית העליונה.
  • randomize_end_point – מגרילה שני מספרים בין 1 ל־100 וקובעת אותם כ־x וכ־y של הנקודה הימנית התחתונה.
  • filter_by_size – מקבלת רשימת מלבנים ושטח מינימלי של מלבן (threshold). מחזירה את רשימת כל המלבנים ששטחם הוא לפחות threshold.
  • filter_by_perimeter – מקבלת רשימת מלבנים והיקף מינימלי של מלבן (threshold). מחזירה את רשימת כל המלבנים שהיקפם הוא לפחות threshold.

ההגדרה של start_point שונה בפעולה הרנדומלית ובתכונות המחלקה

ממשו את מחלקת ריבוע, Square.
פעולת האתחול של המחלקה תקבל פרמטר של אורך, שהוא אורך הצלע של הריבוע.
כפי שוודאי ידוע לכם, בריבוע כל הצלעות זהות באורכן.
ממשו גם את הפעולות get_height ו־get_width של שטח והיקף כפי שעשיתם בתרגיל הקודם.

הכוונה ל-get_surface ו-get_perimeter

תודה לשניכם, תיקנתי :slight_smile: