שגיאת בודק אוטומטי, פילטר מותאם אישית מחברת 2


הפונקציה עובדת מעולה

לייק 1

או שמא :thinking:
קראת את התיעוד של filter?

3 לייקים

קראתי ועובד עכשיו מעולה בה
תודה רבה

אני גם מקבל שגיאה:
AssertionError: חסרה מתודה my_filter assert None

כדאי לעיין בדוקומנטציה של filter (הערה של ים פה בשרשור יותר למעלה)

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

וכמו שדבורה הצעה אם עדין זה לא הכי ברור לך תמיד יש את הדוקומנטציה :slight_smile:

לייק 1

תיקנתי וזה משום מהעדיין מופיע

אם אתה כותב בקוד שלך בדיוק את כל קטעי הקוד שכתובים במחברת בחלק של ()filter, אבל מחליף את הפונקציה ()filter ב-()my_filter. הכל עובד?

מסתבר שבטעות הרצתי ללא שינוי ל-my_filter ובגלל זה יצא פלט תקין.
בכל מקרה, אני לא יודע למה, אבל כשאני מריץ בלולאת for:
if: item == True
בפונקציה sum הוא לא מחשיב לי שום תוצאה כ-True, וכשהפוקנציה היא None הוא לא מחשיב לי את “Hello” כ-True.
בפונקציה is_positive הפלט יוצא תקין

תנסה להבין מה True אומר, אילו דברים יחזירו לך אמת ואילו שקר.
תנסה להבין למה התוצאות שלך יוצאות בקבוצת האפשרויות שמחזירה שקר.
אגב, אני מניחה שהנקודותיים סתם הודפסו לך באמצע כאן ולא בסוף התנאי ב"if: item == True", בכל מקרה סתם שתדע שיש דרך קצרה יותר לכתוב את השורה הזו.

בסוף נפל לי האסימון.
ממש תודה רבה!!! התגובה האחרונה ממש עזרה להבין מה היה חסר לי בקוד

זה מה שעשיתי, ואעדיין יש שגיאה
TypeError: ‘NoneType’ object is not callable

בדקת לפי התיעוד (או המחברת לצורך העיניין) מה קורה אם לא מגדירים פונקציה ל filter? מה קורה אצלך במצב הזה?

לייק 1

None of it is making sense
:wink:

לייק 1

הי
מה הבעיה כאן?

מה השגיאה אומרת?..

אם הייתי מבינה לא הייתי שואלת… :smile:
ברור שיש בעיה עם הset אבל איזו?

הassert אומר שהוא נכשל בהשוואה בין מה שהפונקציה שלך מחזירה, בצד שמאל, למה שהיא אמורה להחזיר, בצד ימין. מה ההבדל בין שני הצדדים?

מקווה שזה לא ספוילר, אבל, מה שעשיתי זה להפוך מחרוזת, ל SET ולהחזיר את ה SET מהפונקציה ( והתרגיל עבד )
אז מה אני מפספסת?