לצערי היה קצר בתקשורת בנוגע להנחיות התרגיל, וחלקכם קיבלו הערות לא מדויקות בנוגע אליו.
אני לוקח על עצמי את הטעות הזו וכל הפתרונות שיוגשו ל־zipwith יתקבלו.
עם זאת, אם מי מכם רוצה לממש את zipwith כפי שהתכוונתי אליו בתרגיל, הנה ניסוח מחודש שלו:
כתבו פונקציה בשם zip_with שמקבלת פונקציה כפרמטר ראשון, ושני iterable־ים או יותר בפרמטרים שאחריו.
הפונקציה תחזיר רשימה, שבה האיבר במקום ה־N־י הוא הערך שחזר מהעברת כל הערכים במקום ה־N־י של כל ה־iterables לפונקציה.
יכול להיות שיש טעות בבדיקה האוטומטית? היא מתנהגת כאילו ש add נלקח מ operator ומצפה לשני ארגומנטים. https://solve.pythonic.guru/view/90387
אתמול לא הופיעה השגיאה הזו. בנוסף זה עובד אצלי ב jupyter על כל הדוגמאות.
Ode
למה בעצם להשתמש או לממש add כזה אם sum עושה את אותו הדבר? והאם מותר להשתמש ב-sum כחלק מפונקציית add שלנו?
לייק 1
Yam
אין סיבה – המטרה היא לשמור על backwards compatibility עם ההנחיות הקודמות של התרגיל.
כן, מותר.
(תיקון קל לתשובתי ל־@Ode – ההבדל הוא ש־sum מקבל ארגומנט אחד של tuple, ו־add שלנו מקבל כל מספר שהוא של ארגומנטים. עדיין ניתן להשתמש בו כדי לממש את add)
לייק 1
Yam
אני על זה
לייק 1
gonny
תיקון לפלט של קריאה 2, הערכים בסדר הפוך, כלומר המצופה הוא:
[10, 8, 6]
2 לייקים
Yam
תודה, ערכתי
Yam
הבודק האוטומטי נערך כך שיתאים להגדרות החדשות של התרגיל. תודה על תשומת הלב.
lidyalatin
זה עדיין נותן לי שגיאה “TypeError: unsupported operand type(s) for +: ‘int’ and ‘tuple’” :-/
Yam
שימי לב ש־zipwith לא אמור לשלוח כפרמטר אחד דברים. add אמורה לקבל מספר בלתי מוגבל של פרמטרים, לא tuple
gonny
רק מוודא, הבודק האוטומטי פה מאה אחוז בסדר?
מריץ את הבדיקות ששמת - יוצא תקין.
פונקציית add אצלי לא מקבל טאפלים, אלא רשימה בלתי מוגבלת של מספרים.
אני עדיין מקבל:
TypeError: unsupported operand type(s) for +: ‘int’ and ‘tuple’
לא ממש יודע איפה להתחיל לטפל בזה.
Yam
לא, תיקנתי אותו לפני כשעה והוא לא 100% בסדר אני שמח לפידבקים.
האם הפונקציה add שלך מקבלת כל מספר שהוא של פרמטרים?
אם כן; אשמח לקישור לתרגיל
gonny
כן, הדוגמא הזאת: print(zip_with(add, [1, 2, 3], [4, 5, 6], [1, 1, 1])) עובדת ושיניתי את הadd שלי ממצב שהוא קיבל טאפל למצב שהוא מקבל מספרים. https://solve.pythonic.guru/view/90586
lidyalatin
היי ים, לאחר בדיקה של מספר דוגמעות שאני יצרתי ואפילו סיבכתי אותם הקוד שלי עדיין עובד.