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

תגיות:

מחברת 1

בתרגיל “מהיר ואמין” כתוב:

הפונקציה תחזיר את הזמן ההמוצע שנמשך החיפוש במבנה הנתונים.

צריך להיות:

הפונקציה תחזיר את הזמן הממוצע שנמשך החיפוש במבנה הנתונים.

מחברת 2

כתוב:

כתבו generator בשם apply שמקבל כפרמטר ראשון פונקציה (func), וכפרמטר שני iterable (iter).

צריך להיות:

כתבו generator בשם apply שמקבל כפרמטר ראשון פונקציה (func), וכפרמטר שני iterable (iterable).

מחברת 3

כתוב:

השתמשו ב־comprehension לבחירתכם (או ב־generator expression) כדי לנקות את הטקסט מסימנים שאינם אותיות.

צריך להיות:

השתמשו ב־comprehension לבחירתכם (או ב־generator expression) כדי לנקות את הטקסט מסימנים שאינם רווחים או אותיות.

מחברת 5

בכל מקום שבו כתוב zipwith, החליפו ל־zip_with.

במחברת סיכום, בתרגיל zipwith, יש שם פונקציה בשם add, האם זו טעות? כי כשאני מריץ פייתון לא מכירה בפונקציה הזו…

לא טעות, דוגמה. אתה יכול לנחש מה היא עושה

אני מבין, אבל אם אני מריץ את הדוגמא הזו, יש טעות…
איך להיפתר ממנה?

תיצור את הפונקציה add בעצמך

הבנתי, מגניב.
אס בעצם כל פונקציה שאיננה built-in אני צריך ליצור אותה?
תודה רבה!

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

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

2 לייקים

אין טעות, מבקשים באמת את האורך ולא את כמות הפעמים שהיא מופיעה.

2 לייקים

תודה רבה רבה לשניכם! שברתי את הראש על זה.

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

שאלת המשך באותו תרגיל. בדוגמא הראשונה מעבירים את הפונקציה “add” ובשניה את הפונקציה “max”, אחת לא קיימת והשניה פונקציה מובנת בפייתון. האם הכוונה ליצור את add או שהכוונה הייתה לפונקציה sum?

אפשר לממש בעצמך את add :slight_smile:
עבור העניין עם zipwith הוספתי תיקון :ok_hand:

הכי ניטפיקי שיכול להיות, אבל שם התרגיל האחרון במערכת הגשת התרגילים לא תואם לשם במחברת :upside_down_face: don’t shoot me

לייק 1

חבל, דווקא אהבתי את 100 ימעלות. תוקן

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

add(num1, num2)

בהמשך ישיר -
אני מקבל שגיאה בבודק האוטומטי שאומרת שהפוקציה add (שכנראה מימשתם כפי שהיה במחברת 2) מצפה לקבל שני ארגומנטים, ואני מזין לה אחד (iterables)

זאת כיוון שהנחתי שהפונקציה zip_with יכולה לקבל עשרות פרמטרים ולא רק 2, ולכן הארגומנטים שאני מתשמש בהם לא מוגבלים לפעולה על 2, אלא על iterable. (כמו שהיא עושה MAX על 3 שונים)…
אתם תתקנו את הבודק? כי נראה לי זה קצת סיפור להתחיל להתאים כל פונקציה למה ייתכן שהיא מקבלת…

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

לייק 1

כן אבל הפונקציה add זו פונקציה שלא קיימת by defalt.
לי נראה הגיוני לממש אותה לא עם שני מספרים, אלא שהיא פשוט עושה sum למשתנה שהיא מקבלת.
אז צריך פה הבהרה. אלא אם הכונה בתרגיל שלכל פונקציה שמוזנת לנו נבדוק כמה פרמטרים היא אמורה לקבל ובהתאם לכך נדע להתנהג (לא בטוח שלמדנו את זה)

כתוב שאתה יכול לממש בעצמך את add, אז אם המימוש שלהם מפריע לך - תממש בעצמך ככה שתעבוד כמו שאתה מצפה ממנה לעבוד

בתרגיל חתול ארוך הוא ארוך מחברת 3, אני חושב שיש טעות בתשובה הנתונה:
expected_result = {‘you’: 3, ‘see’: 3, ‘wire’: 4, ‘telegraph’: 9, ‘is’: 2, ‘a’: 1, ‘kind’: 4, ‘of’: 2, ‘very’: 4, ‘long’: 4, ‘cat’: 3, ‘pull’: 4, ‘his’: 3, ‘tail’: 4, ‘in’: 2, ‘new’: 3, ‘york’: 4, ‘and’: 3, ‘head’: 4, ‘meowing’: 7, ‘los’: 3, ‘angeles’: 7, ‘do’: 2, ‘understand’: 10, ‘this’: 4, ‘radio’: 5, ‘operates’: 8, ‘exactly’: 7, ‘the’: 3, ‘same’: 4, ‘way’: 3, ‘send’: 4, ‘signals’: 7, ‘here’: 4, ‘they’: 4, ‘receive’: 7, ‘them’: 4, ‘there’: 5, ‘only’: 4, ‘difference’: 10, ‘that’: 4, ‘no’: 2}

חסרה בתשובה המילה האחרונה cat עם האורך לא?