תרגילים

group_by

כתבו פונקציה בשם group_by שמקבלת פונקציה כפרמטר ראשון, ו־iterable כפרמטר שני.
הפונקציה תחזיר מילון, שבו:

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

לדוגמה, עבור הקריאה group_by(len, ["hi", "bye", "yo", "try"]) יוחזר הערך: {2: ["hi", "yo"], 3: ["bye", "try"]}.

zipwith

כתבו פונקציה בשם zip_with שמקבלת פונקציה כפרמטר ראשון, ושני iterable־ים או יותר בפרמטרים שאחריו.
הפונקציה תחזיר רשימה, שבה האיבר במקום ה־N־י הוא הערך שחזר מהעברת כל הערכים במקום ה־N־י של כל ה־iterables לפונקציה.

לדוגמה:

  • עבור הקריאה zipwith(add, [1, 2, 3], [4, 5, 6]) יוחזר הערך: [5, 7, 9].
  • עבור הקריאה zipwith(max, (5, 4), (2, 5), (6, -6)) יוחזר הערך: [6, 5].

אפשר להניח שה־iterables המועברים לפונקציה זהים באורכם.

זכרתם?

כתבו פונקציה שמקבלת מסר להצפנה, ויוצרת ממנו תמונה מוצפנת.
השתמשו בשיטת ההצפנה שהוצגה במחברת הקודמת.

סט

למדו את החוקים של המשחק סט, מהערך בוויקיפדיה או מ־YouTube.

  1. צרו חפיסת סט.
  2. טרפו אותה היטב, ופתחו 12 קלפים על השולחן. הדפיסו את כל הסטים שמצאתם.
  3. בדקו בכמה אחוזים מהפעמים שבהן פותחים 12 קלפים אקראיים מהחפיסה – אין אף סט על הלוח.

כדי לחשב את סעיף 3, הריצו את הבדיקה על 10,000 מקרים שבהם פתחתם 12 קלפים מהחפיסה המעורבבת.

100 מעלות

כתבו קוד שמוצא את 100 השירים הפופולריים ביותר לפי מדד Hot 100 של Billboard.
השיגו את המילים של השירים שמצאתם, ושרטטו גרף שמראה כמה פעמים מופיעה כל מילה מ־100 המילים הנפוצות ביותר בכל השירים.

בונוס: בצעו ניתוח מעניין אחר, כמו מיהם האומנים שמשתמשים בהכי הרבה מילים בשירים שלהם!


In [6]:




In [5]:



  File "<ipython-input-5-5a8ad0ff014a>", line 4
    def timecheck2_concat_with_plusequal_nolist(strings):
      ^
IndentationError: expected an indented block

In [ ]: