מעתיק כאן את השאלה לנוחיותכם:
כתבו פונקציה בשם timer שמקבלת כפרמטר פונקציה (נקרא לה f) ופרמטרים נוספים.
הפונקציה timer תמדוד כמה זמן רצה פונקציה f כשמועברים אליה אותם פרמטרים.
- עבור הקריאה
timer(print, "Hello")
, תחזיר הפונקציה את משך זמן הביצוע שלprint("Hello")
. - עבור הקריאה
timer(zip, [1, 2, 3], [4, 5, 6])
, תחזיר הפונקציה את משך זמן הביצוע שלzip([1, 2, 3], [4, 5, 6])
. - עבור הקריאה
timer("Hi {name}".format, name="Bug")
, תחזיר הפונקציה את משך זמן הביצוע של"Hi {name}".format(name="Bug")
ב-2 הדוגמאות הראשונות שהתרגיל מראה אין לי בעיה, הבעיה שלי היא בדוגמא השלישית, הפרמטר הראשון שאני שולח הוא לא פונקציה (כמו print או zip) אלא מחרוזת, ולכן אני מקבל שגיאה :
TypeError: ‘str’ object is not callable
כלומר שאי אפשר לקרוא למחרוזת.
לא ברור לי עניין הנקודה ואיך לשלוח את הפרמטר לפונקציה הtimer.