העלאת תרגילים ותיקון הערות הבודק האוטומטי - פתרון לבעיות נפוצות

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

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

4 לייקים

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

לפי הדוקומנצטיה פה זה נראה שהמערכת שלנו עושה שימוש ב flake8 בגירסא ישנה יותר ולכן מציגה את W503 שתואמת להוראות הקודמות.

מצטער על הבורות, מה זה אומר?
בכל מקרה, הפונקציה שלי כן מקבלת argument בשם states.

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

3 לייקים

אפשר עזרה להבין מה כמה שגיאות אומרות?
שבוע 6, מחברת 2 - פיליטר מותאם אישית

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

שבוע 6 מחברת 2 סוגרים חשבון-

חתימת הפונקציה שלי נראית ככה-

לא מבינה מה הבעיה

לגבי שגיאה שניה תנסה חותמת אחרת עד שתצליח.

תנסי* ו-
מה? לא הבנתי למה אתה מתכוון…
מה זאת אומרת אחרת? מה השגיאה?
operator מופיע בחתימה הפונקציה, השתמשתי במילון ומקבלת תוצאות כמצופה.

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

עדיין לא מבינה…
ניסיתי את כל הוריאציות של
calc(num1, operator, num2)
calc(operator, num1, num2)
בשתי אלו הוא נותן לי את אותה שגיאה רק עם num2

@Yam האם בכלל צריך להתייחס לזה?

זה אומר שמצפים שהפונקציה תקבל רק 2 פרמטרים ולא 3

אוקיי…
אבל הנה מה שהתרגיל מבקש:

כתבו פונקציה בשם calc שמקבלת כפרמטר שני מספרים וסימן של פעולה חשבונית.

אמורים להבין מזה שזה שני מספרים ברשימה?
או משהו כמו “1+2” כמחרוזת?
או 2 מספרים ופעולה

בדיוק באתי להראות שאין דוגמה :slight_smile:

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

3 לייקים

ולגבי הדוגמה הראשונה שנתתי?
אפשר אינדיקציה רק למה הבעיה שאדע מה לתקן?

הוא כותב מה היא :slight_smile:
מה הבנת ממה שכתב?

זהו שלא הבנתי מה הפרמטר שהוא מנסה לבדוק-
מה ה"פונקציה" ומה הiterable.
האם הפונקציה זה [0,2,4,6,8] == [2,4,6,8]?

האם זה none ו [0,2,4,6,8] - שאז הייתי מצפה לא לקבל את ה0 (ואכן בדקתי וזה מחזיר כמו שאני מצפה)

קיצר לא מבינה :sweat_smile:

בגדול מה שכתוב שם זה “הפונקציה שלך לא עובדת עבור כל המקרים”. מכאן את צריכה להבין לבד למה.
כרמז, כתוב שהוא ציפה לקבל תוצאה [2, 4, 6, 8] והתוצאה היא [0, 2, 4, 6, 8] – או הפוך.
חשבי למה :slight_smile:

לייק 1

תודה, אחשוב עוד קצת…