<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 <img src="images/logo.jpg" style="display
Step1:  <p style="text-align
Step2:  <p style="text-align
Step3:  <p style="text-align
Step4:  <p style="text-align
Step5:  <p style="text-align
Step6:  <p style="text-align
Step7:  <div class="align-center" style="display
Step8:  <p style="text-align
Step9:  <p style="text-align
Step10:  <p style="text-align
Step11:  <div class="align-center" style="display
Step12:  <p style="text-align
Step13:  <p style="text-align
Step14:  <p style="text-align
Step15:  <p style="text-align
Step16:  <p style="text-align
Step17:  <p style="text-align
Step18:  <p style="text-align
Step19:  <p style="text-align
Step20:  <p style="text-align
Step21:  <p style="text-align
Step22:  <p style="text-align
Step23:  <p style="text-align
Step24:  <table style="font-size
Step25:  <p style="text-align
Step26:  <p style="text-align
Step27:  <p style="text-align
Step28:  <ol style="text-align
Step29:  <p style="text-align
Step30:  <p style="align
<ASSISTANT_TASK:>
Python Code:
prime_ministers = ['David Ben-Gurion', 'Moshe Sharett', 'David Ben-Gurion', 'Levi Eshkol', 'Yigal Alon', 'Golda Meir']
Explanation: <img src="images/logo.jpg" style="display: block; margin-left: auto; margin-right: auto;" alt="לוגו של מיזם לימוד הפייתון. נחש מצויר בצבעי צהוב וכחול, הנע בין האותיות של שם הקורס: לומדים פייתון. הסלוגן המופיע מעל לשם הקורס הוא מיזם חינמי ללימוד תכנות בעברית.">
<p style="text-align: right; direction: rtl; float: right;">רשימות</p>
<p style="text-align: right; direction: rtl; float: right; clear: both;">הגדרה</p>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
רשימה, כשמה כן היא, מייצגת <mark>אוסף מסודר של ערכים</mark>. רשימות יהיו סוג הנתונים הראשון שנכיר בפייתון, ש<mark>מטרתו היא לקבץ ערכים</mark>.<br>
הרעיון מוכר לנו מהיום־יום: רשימת פריטים לקנייה בסופר שמסודרת לפי הא–ב, או רשימת ההופעות בקיץ הקרוב המסודרת לפי תאריך.
</p>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
נסו לדמיין רשימה כמסדרון ארוך, שבו עומדים בתור אחד אחרי השני איברים מסוגים שאנחנו מכירים בפייתון.<br>
אם נשתמש בדימוי הלייזרים שנתנו למשתנים בשבוע הקודם, אפשר להגיד שמדובר בלייזר שמצביע לשורת לייזרים, שבה כל לייזר מצביע על ערך כלשהו.
</p>
<table style="font-size: 2rem; border: 0px solid black; border-spacing: 0px;">
    <tr>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-bottom: 1px solid;">0</td>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-left: 1px solid #555555; border-bottom: 1px solid;">1</td>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-left: 1px solid #555555; border-bottom: 1px solid;">2</td>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-left: 1px solid #555555; border-bottom: 1px solid;">3</td>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-left: 1px solid #555555; border-bottom: 1px solid;">4</td>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-left: 1px solid #555555; border-bottom: 1px solid;">5</td>
    </tr>
    <tbody>
        <tr>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">"David Ben-Gurion"</td>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">"Moshe Sharett"</td>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">"David Ben-Gurion"</td>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">"Levi Eshkol"</td>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">"Yigal Alon"</td>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">"Golda Meir"</td>
        </tr>
        <tr style="background: #f5f5f5;">
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right;">-6</td>
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right; border-left: 1px solid #555555;">-5</td>
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right; border-left: 1px solid #555555;">-4</td>
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right; border-left: 1px solid #555555;">-3</td>
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right; border-left: 1px solid #555555;">-2</td>
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right; border-left: 1px solid #555555;">-1</td>
        </tr>
    </tbody>
</table>
<br>
<p style="text-align: center; direction: rtl; clear: both; font-size: 1.8rem">
    דוגמה לרשימה: 6 ראשי הממשלה הראשונים בישראל לפי סדר כהונתם, משמאל לימין
</p>
<p style="text-align: right; direction: rtl; float: right;">דוגמאות</p>
<ol style="text-align: right; direction: rtl; float: right; clear: both;">
    <li>רשימת שמות ראשי הממשלה במדינת ישראל לפי סדר כהונתם.</li>
    <li>רשימת הגילים של התלמידים בכיתה, מהמבוגר לצעיר.</li>
    <li>רשימת שמות של התקליטים שיש לי בארון, מסודרת מהתקליט השמאלי לימני.</li>
    <li>רשימה שבה כל איבר מייצג אם לראש הממשלה שנמצא בתא התואם ברשימה הקודמת היו משקפיים.</li>
    <li>האיברים 42, 8675309, 73, <span dir="ltr" style="direction: ltr;">-40</span> ו־186282 בסדר הזה.</li>
    <li>רשימה של תחזית מזג האוויר ב־7 הימים הקרובים. כל איבר ברשימה הוא בפני עצמו רשימה, שמכילה שני איברים: הראשון הוא מה תהיה הטמפרטורה הממוצעת, והשני הוא מה תהיה הלחות הממוצעת.</li>
<ol>
<div class="align-center" style="display: flex; text-align: right; direction: rtl; clear: both;">
    <div style="display: flex; width: 10%; float: right; clear: both;">
        <img src="images/exercise.svg" style="height: 50px !important;" alt="תרגול"> 
    </div>
    <div style="width: 90%">
        <p style="text-align: right; direction: rtl; float: right; clear: both;">
        <strong>תרגול</strong>:
            הרשימות שהוצגו למעלה הן <dfn>רשימות הומוגניות</dfn>, כאלו שכל האיברים שבהן הם מאותו סוג.<br>
            כתבו עבור כל אחת מהרשימות שהוצגו בדוגמה מה סוג הנתונים שיישמר בהן.
        </p>
    </div>
</div>
<div class="align-center" style="display: flex; text-align: right; direction: rtl; clear: both;">
    <div style="display: flex; width: 10%; float: right; clear: both;">
        <img src="images/exercise.svg" style="height: 50px !important;" alt="תרגול"> 
    </div>
    <div style="width: 90%">
        <p style="text-align: right; direction: rtl; float: right; clear: both;">
        <strong>תרגול</strong>:
            נסו לתת דוגמה לעוד 3 רשימות שבהן נתקלתם לאחרונה.</p>
    </div>
</div>
## <p style="text-align: right; direction: rtl; float: right;">רשימות בקוד</p>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
רשימות הן אחד מסוגי הנתונים הכיפיים ביותר בפייתון, וזאת בזכות הגמישות האדירה שיש לנו בתכנות עם רשימות.
</p>
### <span style="text-align: right; direction: rtl; float: right; clear: both;">הגדרת רשימה</span>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
נגדיר בעזרת פייתון את הרשימה שפגשנו למעלה – 6 ראשי הממשלה הראשונים מאז קום המדינה:
</p>
End of explanation
print(prime_ministers)
type(prime_ministers)
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
מה התרחש בקוד?<br>
התחלנו את הגדרת הרשימה באמצעות התו <code dir="ltr" style="direction: ltr;">[</code>.<br>
מייד אחרי התו הזה הכנסנו איברים לרשימה לפי הסדר הרצוי, כאשר כל איבר מופרד ממשנהו בפסיק (<code>,</code>).<br>
במקרה שלנו, כל איבר הוא מחרוזת המייצגת ראש ממשלה. הכנסנו את ראשי הממשלה לרשימה <mark>לפי סדר</mark> כהונתם.<br>
שימו לב שהרשימה מכילה איבר מסוים פעמיים – מכאן ש<mark>רשימה היא מבנה נתונים שתומך בחזרות</mark>.<br>
לסיום, נסגור את הגדרת הרשימה באמצעות התו <code dir="ltr" style="direction: ltr;">]</code>.<br>
</p>
End of explanation
numbers = [1, 2, 3, 4, 5, 6, 7]
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
נוכל להגדיר רשימה של המספרים הטבעיים עד 7:
</p>
End of explanation
wtf = ['The cake is a', False, 42]
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
<dfn>רשימה הומוגנית</dfn> היא רשימה שבה האיברים שנמצאים בכל אחד מהתאים הם מאותו סוג. רשימות "בעולם האמיתי" הן בדרך כלל הומוגניות.<br>
<dfn>רשימה הטרוגנית</dfn> היא רשימה שבה איברים בתאים שונים יכולים להיות מסוגים שונים.<br>
ההבדל הוא סמנטי בלבד, ופייתון לא מבדילה בין רשימה הטרוגנית לרשימה הומוגנית.
</p>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
לשם הדוגמה, נגדיר רשימה הטרוגנית:
</p>
End of explanation
empty_list = []
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
נוכל אפילו להגדיר רשימה ריקה, שבה אין איברים כלל:</p>
End of explanation
# Index        0               1             2                     3                      4                   5
vinyls = ['Ecliptica', 'GoT Season 6', 'Lone Digger', 'Everything goes numb', 'Awesome Mix Vol. 1', 'Ultimate Sinatra']
Explanation: <p style="text-align: right; direction: rtl; float: right;">גישה לאיברי הרשימה</p>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
לכל תא ברשימה יש מספר, שמאפשר לנו להתייחס לאיבר שנמצא באותו תא.<br>
הדבר דומה ללייזר שעליו יש מדבקת שם ("שמות ראשי ממשלה"), והוא מצביע על שורת לייזרים שעל התווית שלהם מופיע מספר המתאר את מיקומם בשורה.<br>
התא השמאלי ביותר ברשימה ממוספר כ־0, התא שנמצא אחריו (מימינו) מקבל את המספר 1, וכך הלאה עד לסוף הרשימה.<br>
המספור של כל תא נקרא <dfn>המיקום שלו ברשימה</dfn>, או <dfn>האינדקס שלו</dfn>.
</p>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
נגדיר את רשימת שמות התקליטים שיש לי בבית:
</p>
End of explanation
print(vinyls[4])
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
בהנחה שאנחנו מתים על Guardians of the Galaxy, נוכל לנסות להשיג מהרשימה את Awesome Mix Vol. 1.<br>
כדי לעשות זאת, נציין את שם הרשימה שממנה אנחנו רוצים לקבל את האיבר, ומייד לאחר מכן את מיקומו ברשימה בסוגריים מרובעים.
</p>
End of explanation
#             0               1             2                     3                      4                   5
vinyls = ['Ecliptica', 'GoT Season 6', 'Lone Digger', 'Everything goes number', 'Awesome Mix Vol. 1', 'Ultimate Sinatra']
#            -6             -5             -4                  -3                       -2                  -1
Explanation: <div class="align-center" style="display: flex; text-align: right; direction: rtl; clear: both;">
    <div style="display: flex; width: 10%; float: right; clear: both;">
        <img src="images/warning.png" style="height: 50px !important;" alt="אזהרה!"> 
    </div>
    <div style="width: 90%">
        <p style="text-align: right; direction: rtl; clear: both;">
            התא הראשון ממוספר 0, ולא 1.<br>
            יש לכך סיבות טובות, אבל פעמים רבות תרגישו שהמספור הזה לא טבעי ועלול ליצור <dfn>באגים</dfn>, שהם קטעי קוד שמתנהגים אחרת משציפה המתכנת.<br>
            כפועל יוצא, המיקום ברשימה של התא האחרון לא יהיה כאורך הרשימה, אלא כאורך הרשימה פחות אחד.<br>
            משמע: ברשימה שבה 3 איברים, מספרו של התא האחרון יהיה 2.
        </p>
    </div>
</div>
<figure>
    <img src="images/list-of-vinyls.png" width="100%" style="display: block; margin-left: auto; margin-right: auto;" alt="תמונה של 6 תקליטים על שטיח. משמאל לימין: Ecliptica / Sonata Arctica, Game of Thrones Season 6 / Ramin Djawadi, Caravan Palace / Lone Digger, Everything goes numb / Streetlight Manifesto, Awesome Mix Vol. 1 / Guardians of the Galaxy, Ultimate Sinatra / Frank Sinatra. מעל כל דיסק מופיע מספר, מ־0 עבור התקליט השמאלי ועד 5 עבור התקליט הימני. מתחת לתקליטים מופיע המספר -1 עבור התקליט הימני ביותר, וכך הלאה עד -5 עבור התקליט השמאלי ביותר.">
    <figcaption style="text-align: center; direction: rtl; clear: both;">
        רשימת (חלק מ)התקליטים בארון שלי, מסודרת מהתקליט השמאלי לימני.<br>
    </figcaption>
</figure>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
כפי שניתן לראות בתמונה, פייתון מנסה לעזור לנו ומאפשרת לנו לגשת לאיברים גם מהסוף.<br>
חוץ מהמספור הרגיל שראינו קודם, אפשר לגשת לאיברים מימין לשמאל באמצעות מספור שלילי.<br>
האיבר האחרון יקבל את המספר <span style="direction: ltr" dir="ltr">-1</span>, זה שלפניו (משמאלו) יקבל <span style="direction: ltr" dir="ltr">-2</span> וכן הלאה. 
</p>
End of explanation
print(vinyls[-2])
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
אם נרצה לגשת שוב לאותו דיסק, אבל הפעם מהסוף, נוכל לכתוב זאת כך:
</p>
End of explanation
type(vinyls[0])
print(vinyls[0] + ', By Sonata Arctica')
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
כדאי לזכור שהתוכן של כל אחד מהתאים הוא ערך לכל דבר.<br>
יש לו סוג, ואפשר לבצע עליו פעולות כמו שלמדנו עד עכשיו:
</p>
End of explanation
# כמה תקליטים יש לי?
len(vinyls)
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
לסיום, נראה שבדיוק כמו במחרוזות, נוכל לבדוק את אורך הרשימה על ידי שימוש בפונקציה <code>len</code>.
</p>
End of explanation
print(vinyls)
vinyls[1] = 'GoT Season 7'
print(vinyls)
Explanation: <div class="align-center" style="display: flex; text-align: right; direction: rtl; clear: both;">
    <div style="display: flex; width: 10%; float: right; clear: both;">
        <img src="images/warning.png" style="height: 50px !important;" alt="אזהרה!"> 
    </div>
    <div style="width: 90%">
        <p style="text-align: right; direction: rtl; clear: both;">
            אם ננסה לגשת לתא שאינו קיים, נקבל <code>IndexError</code>.<br>
            זה בדרך כלל קורה כשאנחנו שוכחים להתחיל לספור מ־0.<br>
            אם השגיאה הזו מופיעה כשאתם מתעסקים עם רשימות, חשבו איפה בקוד פניתם לתא שאינו קיים.
        </p>
    </div>
</div>
<p style="text-align: right; direction: rtl; float: right;">השמה ברשימות</p>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
לפעמים נרצה לשנות את הערך של האיברים ברשימה.<br>
נפנה ללייזר מסוים בשורת הלייזרים שלנו, ונבקש ממנו להצביע לערך חדש:
</p>
End of explanation
[1, 2, 3] + [4, 5, 6]
['a', 'b', 'c'] + ['easy', 'as'] + [1, 2, 3]
Explanation: <p style="text-align: right; direction: rtl; float: right;">אופרטורים חשבוניים על רשימות</p>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
אופרטורים שהכרנו כשלמדנו על מחרוזות, יעבדו נהדר גם על רשימות.
</p>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
כפי ש־<code>+</code> משרשר בין מחרוזות, הוא יודע לשרשר גם בין רשימות:
</p>
End of explanation
['wake up', 'go to school', 'sleep'] * 365
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
וכפי ש־<code>*</code> משרשר מחרוזת לעצמה כמות מסוימת של פעמים, כך הוא יפעל גם עם רשימות:
</p>
End of explanation
['Is', 'someone', 'getting'] + ['the', 'best,'] * 4 + ['of', 'you?']
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
אפשר גם לשלב:
</p>
End of explanation
[1, 2, 3] + 5
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
שימו לב שכל אופרטור שתשימו ליד הרשימה מתייחס <em>לרשימה בלבד</em>, ולא לאיברים שבתוכה.<br>
משמע <code dir="ltr" style="direction: ltr;">+ 5</code> לא יוסיף לכם 5 לכל אחד מהאיברים, אלא ייכשל כיוון שפייתון לא יודעת לחבר רשימה למספר שלם.<br>
</p>
End of explanation
prime_ministers = ['David Ben-Gurion', 'Moshe Sharett', 'David Ben-Gurion', 'Levi Eshkol', 'Yigal Alon', 'Golda Meir']
print(prime_ministers)
prime_ministers + ['Yitzhak Rabin']
print(prime_ministers)
print(prime_ministers)
prime_ministers = prime_ministers + ['Yitzhak Rabin']
print(prime_ministers)
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
שימו לב גם שהפעלת אופרטור על רשימה לא גורמת לשינוי הרשימה, אלא רק מחזירה ערך.<br>
כדי לשנות ממש את הרשימה, נצטרך להשתמש בהשמה:
</p>
End of explanation
pupils_in_sunday = ['Moshe', 'Dukasit', 'Michelangelo']
pupils_in_monday = ['Moshe', 'Dukasit', 'Master Splinter']
pupils_in_tuesday = ['Moshe', 'Dukasit', 'Michelangelo']
pupils_in_wednesday = ['Moshe', 'Dukasit', 'Michelangelo', 'Master Splinter']
Explanation: <p style="text-align: right; direction: rtl; float: right;">אופרטורים השוואתיים על רשימות</p>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
נגדיר את רשימת האנשים שנכחו בכיתה ביום ראשון, שני, שלישי ורביעי:
</p>
End of explanation
print("Is it Monday? " + str(pupils_in_sunday == pupils_in_monday))
print("Is it Tuesday? " + str(pupils_in_sunday == pupils_in_tuesday))
print("Is it Wednesday? " + str(pupils_in_sunday == pupils_in_wednesday))
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
רשימות תומכות בכל אופרטורי ההשוואה שלמדנו עד כה.<br>
נתחיל בקל ביותר. בואו נבדוק באיזה יום הרכב התלמידים בכיתה היה זהה להרכב התלמידים שהיה בה ביום ראשון:
</p>
End of explanation
print('Moshe' in pupils_in_tuesday)
# זה אותו דבר כמו:
print('Moshe' in ['Moshe', 'Dukasit', 'Michelangelo'])
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
האם משה נכח בכיתה ביום שלישי? 
</p>
End of explanation
'Master Splinter' not in pupils_in_tuesday
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
נוכיח שמאסטר ספלינטר הבריז באותו יום: 
</p>
End of explanation
python_new_version = [3, 7, 2]
python_old_version = [2, 7, 16]
print(python_new_version > python_old_version)
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
ולסיום, בואו נבדוק איזו גרסה חדשה יותר: 
</p>
End of explanation
pupils_in_sunday = ['Moshe', 'Dukasit', 'Michelangelo']
pupils_in_monday = ['Moshe', 'Dukasit', 'Splinter']
pupils_in_tuesday = ['Moshe', 'Dukasit', 'Michelangelo']
pupils_in_wednesday = ['Moshe', 'Dukasit', 'Michelangelo', 'Splinter']
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
כדי לבצע השוואה בין רשימות, פייתון מנסה להשוות את האיבר הראשון מהרשימה הראשונה לאיבר הראשון מהרשימה השנייה.<br>
אם יש "תיקו", היא תעבור לאיבר השני בכל רשימה, כך עד סוף הרשימה.
</p>
<p style="text-align: right; direction: rtl; float: right;">רשימה של רשימות</p>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
    לעיתים דברים בחיים האמיתיים הם מורכבים מדי מכדי לייצג אותם ברשימה סטנדרטית.<br>
    הרבה פעמים נשים לב שיוקל לנו אם ניצור רשימה שבה כל תא הוא רשימה בפני עצמו.<br>הרעיון הזה ייצור לנו רשימה של רשימות.<br>
    ניקח לדוגמה את הרשימות שהגדרנו למעלה, שמתארות מי נכח בכל יום בכיתה:
</p>
End of explanation
pupils = [pupils_in_sunday, pupils_in_monday, pupils_in_tuesday, pupils_in_wednesday]
print(pupils)
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
    אנחנו רואים לפנינו רשימה של ימים, שקל להכניס לרשימה אחת גדולה: 
</p>
End of explanation
pupils = [['Moshe', 'Dukasit', 'Michelangelo'], ['Moshe', 'Dukasit', 'Splinter'], ['Moshe', 'Dukasit', 'Michelangelo'], ['Moshe', 'Dukasit', 'Michelangelo', 'Splinter']]
Explanation: <table style="font-size: 1rem; border: 0px solid black; border-spacing: 0px;">
    <tr>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-bottom: 1px solid;">0</td>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-left: 1px solid #555555; border-bottom: 1px solid;">1</td>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-left: 1px solid #555555; border-bottom: 1px solid;">2</td>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-left: 1px solid #555555; border-bottom: 1px solid;">3</td>
    </tr>
    <tbody>
        <tr>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">
<table style="font-size: 1.1rem; border: 0px solid black; border-spacing: 0px;">
    <tr>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-bottom: 1px solid;">0</td>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-left: 1px solid #555555; border-bottom: 1px solid;">1</td>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-left: 1px solid #555555; border-bottom: 1px solid;">2</td>
    </tr>
    <tbody>
        <tr>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">"Moshe"</td>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">"Dukasit"</td>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">"Michelangelo"</td>
        </tr>
        <tr style="background: #f5f5f5;">
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right;">-3</td>
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right; border-left: 1px solid #555555;">-2</td>
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right; border-left: 1px solid #555555;">-1</td>
        </tr>
    </tbody>
</table>
            </td>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">
<table style="font-size: 1.1rem; border: 0px solid black; border-spacing: 0px;">
    <tr>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-bottom: 1px solid;">0</td>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-left: 1px solid #555555; border-bottom: 1px solid;">1</td>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-left: 1px solid #555555; border-bottom: 1px solid;">2</td>
    </tr>
    <tbody>
        <tr>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">"Moshe"</td>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">"Dukasit"</td>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">"Splinter"</td>
        </tr>
        <tr style="background: #f5f5f5;">
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right;">-3</td>
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right; border-left: 1px solid #555555;">-2</td>
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right; border-left: 1px solid #555555;">-1</td>
        </tr>
    </tbody>
</table>
            </td>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">
<table style="font-size: 1.1rem; border: 0px solid black; border-spacing: 0px;">
    <tr>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-bottom: 1px solid;">0</td>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-left: 1px solid #555555; border-bottom: 1px solid;">1</td>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-left: 1px solid #555555; border-bottom: 1px solid;">2</td>
    </tr>
    <tbody>
        <tr>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">"Moshe"</td>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">"Dukasit"</td>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">"Michelangelo"</td>
        </tr>
        <tr style="background: #f5f5f5;">
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right;">-3</td>
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right; border-left: 1px solid #555555;">-2</td>
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right; border-left: 1px solid #555555;">-1</td>
        </tr>
    </tbody>
</table>
            </td>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">
<table style="font-size: 1.1rem; border: 0px solid black; border-spacing: 0px;">
    <tr>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-bottom: 1px solid;">0</td>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-left: 1px solid #555555; border-bottom: 1px solid;">1</td>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-left: 1px solid #555555; border-bottom: 1px solid;">2</td>
        <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777;  text-align: left; border-left: 1px solid #555555; border-bottom: 1px solid;">3</td>
    </tr>
    <tbody>
        <tr>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">"Moshe"</td>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">"Dukasit"</td>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">"Michelangelo"</td>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid;">"Splinter"</td>
        </tr>
        <tr style="background: #f5f5f5;">
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right;">-4</td>
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right; border-left: 1px solid #555555;">-3</td>
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right; border-left: 1px solid #555555;">-2</td>
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right; border-left: 1px solid #555555;">-1</td>
        </tr>
    </tbody>
</table>
            </td>
        </tr>
        <tr style="background: #f5f5f5;">
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right;">-4</td>
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right; border-left: 1px solid #555555;">-3</td>
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right; border-left: 1px solid #555555;">-2</td>
            <td style="padding-left: 4px; padding-top: 2px; padding-bottom: 3px; font-size: 1.3rem; color: #777; text-align: right; border-left: 1px solid #555555;">-1</td>
        </tr>
    </tbody>
</table>
<br>
<p style="text-align: center; direction: rtl; clear: both; font-size: 1.8rem">
    דוגמה לרשימה של רשימות: נוכחות התלמידים בימי ראשון עד רביעי
</p>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
    השורה שכתבנו למעלה זהה לחלוטין לשורה הבאה, שבה אנחנו מגדירים רשימה אחת שכוללת את רשימות התלמידים שנכחו בכיתה בכל יום. 
</p>
End of explanation
pupils[0]
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
נוכל לקבל את רשימת התלמידים שנכחו ביום ראשון בצורה הבאה:
</p>
End of explanation
pupils_in_sunday = pupils[0]
print(pupils_in_sunday[-1])
# או פשוט:
print(pupils[0][-1])
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
ואת התלמיד האחרון שנכח ביום ראשון בצורה הבאה:
</p>
End of explanation
print("pupils = " + str(pupils))
print("-" * 50)
print("1. 'Moshe' in pupils == "                              + str('Moshe' in pupils))
print("2. 'Moshe' in pupils[0] == "                           + str('Moshe' in pupils[0]))
print("3. ['Moshe', 'Splinter'] in pupils == "                + str(['Moshe', 'Splinter'] in pupils))
print("4. ['Moshe', 'Splinter'] in pupils[-1] == "             + str(['Moshe', 'Splinter'] in pupils[-1]))
print("5. ['Moshe', 'Dukasit', 'Splinter'] in pupils == "     + str(['Moshe', 'Dukasit', 'Splinter'] in pupils))
print("6. ['Moshe', 'Dukasit', 'Splinter'] in pupils[0] == "  + str(['Moshe', 'Dukasit', 'Splinter'] in pupils[0]))
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
    אם קשה לכם לדמיין את זה, עשו זאת בשלבים.<br>
    בדקו מה יש ב־<code>pupils</code>, אחרי זה מה מחזיר <code>pupils[0]</code>, ואז נסו לקחת ממנו את האיבר האחרון, <code>pupils[0][-1]</code>.
</p
<p style="text-align: right; direction: rtl; float: right; clear: both;">
כדי להבין טוב יותר איך רשימה של רשימות מתנהגת, חשוב להבין את התוצאות של הביטויים הבוליאניים הבאים.<br>
זה קצת מבלבל, אבל אני סומך עליכם שתחזיקו מעמד:
</p>
End of explanation
judges = ['Esther Hayut', 'Miriam Naor', 'Asher Grunis', 'Dorit Beinisch', 'Aharon Barak']
Explanation: <ol style="text-align: right; direction: rtl; float: right; clear: both;">
    <li>הביטוי הבוליאני בשורה 1 מחזיר <samp>False</samp>, כיוון שכל אחד מהאיברים ברשימה <var>pupils</var> הוא רשימה, ואף אחד מהם אינו המחרוזת <em>"Moshe"</em>.</li>
    <li>הביטוי הבוליאני בשורה 2 מחזיר <samp>True</samp>, כיוון שהאיבר הראשון ב־<var>pupils</var> הוא רשימה שמכילה את המחרוזת <em>"Moshe"</em>.</li>
    <li>הביטוי הבוליאני בשורה 3 מחזיר <samp>False</samp>, כיוון שאין בתוך <var>pupils</var> רשימה שאלו בדיוק הערכים שלה. יש אומנם רשימה שמכילה את האיברים האלו, אבל השאלה הייתה האם הרשימה הגדולה (<var>pupils</var>) מכילה איבר ששווה בדיוק ל־<code>['Moshe', 'Splinter']</code>.</li>
    <li>הביטוי הבוליאני בשורה 4 מחזיר <samp>False</samp>, כיוון שברשימה האחרונה בתוך <var>pupils</var> אין איבר שהוא הרשימה <code>["Moshe", "Splinter"]</code>.</li>
    <li>הביטוי הבוליאני בשורה 5 מחזיר <samp>True</samp>, כיוון שיש רשימה ישירות בתוך <var>pupils</var> שאלו הם ערכיה.</li>
    <li>הביטוי הבוליאני בשורה 6 מחזיר <samp>False</samp>, כיוון שברשימה הראשונה בתוך <var>pupils</var> אין איבר שהוא הרשימה הזו.</li>
</ol>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
זכרו שעבור פייתון אין שום דבר מיוחד ברשימה של רשימות. היא בסך הכול רשימה רגילה, שכל אחד מאיבריה הוא רשימה.<br>
מבחינתה אין הבדל בין רשימה כזו לכל רשימה אחרת.
</p>
<p style="text-align: right; direction: rtl; float: right;">המונח Iterable</p>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
באתרי אינטרנט ובתיעוד של פייתון אנחנו נפגש פעמים רבות עם המילה <dfn>Iterable</dfn>.<br>
בקורס נשתמש במונח הזה פעמים רבות כדי להבין טוב יותר איך פייתון מתנהגת.<br>
<mark>נגדיר ערך כ־<dfn>iterable</dfn> אם ניתן לפרק אותו לכלל האיברים שלו.</mark><br>
</p>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
עד כה אנחנו מכירים 2 סוגי משתנים שעונים להגדרה iterables: רשימות ומחרוזות.<br>
ניתן לפרק רשימה לכל האיברים שמרכיבים אותה, וניתן לפרק מחרוזת לכל התווים שמרכיבים אותה.<br>
</p>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
יש הרבה במשותף לכל הדברים שניתן להגיד עליהם שהם iterables:<br>
על חלק גדול מה־iterables אפשר להפעיל פעולות שמתייחסות לכלל האיברים שבהם, כמו <code>len</code> שמראה את מספר האיברים בערך.<br>
על חלק גדול מה־iterables יהיה אפשר גם להשתמש בסוגריים מרובעים כדי לגשת לאיבר מסוים שנמצא בהם.<br>
בעתיד נלמד על עוד דברים שמשותפים לרוב (או לכל) ה־iterables.
</p>
<p style="align: right; direction: rtl; float: right; clear: both;">מונחים</p>
<dl style="text-align: right; direction: rtl; float: right; clear: both;">
<dt>רשימה</dt><dd>סוג משתנה שמטרתו לקבץ ערכים אחרים בסדר מסוים.</dd>
<dt>תא</dt><dd>מקום ברשימה שמכיל איבר כלשהו.</dd>
<dt>מיקום</dt><dd>מיקום של תא מסוים הוא המרחק שלו מהתא הראשון ברשימה, שמיקומו הוא 0. זהו מספר שמטרתו לאפשר גישה לתא מסוים ברשימה.</dd>
<dt>אינדקס</dt><dd>מילה נרדפת ל"מיקום".</dd>
<dt>איבר</dt><dd>ערך שנמצא בתא של רשימה. ניתן לאחזר אותו אם נציין את שם הרשימה, ואת מיקום התא שבו הוא נמצא.</dd>
<dt>רשימה הומוגנית</dt><dd>רשימה שבה כל האיברים הם מאותו סוג.</dd>
<dt>רשימה הטרוגנית</dt><dd>רשימה שבה לכל איבר יכול להיות סוג שונה.</dd>
<dt>Iterable</dt><dd>ערך שמורכב מסדרה של ערכים אחרים.</dd>
</dl>
<p style="text-align: right; direction: rtl; float: right;">לסיכום</p>
<ol style="text-align: right; direction: rtl; float: right; clear: both;">
    <li>מספר האיברים ברשימה יכול להיות 0 (רשימה ריקה) או יותר.</li>
    <li>לאיברים ברשימה יש סדר.</li>
    <li>כל איבר ברשימה ממוספר החל מהאיבר הראשון שממוספר 0, ועד האיבר האחרון שמספרו הוא אורך הרשימה פחות אחד.</li>
    <li>ניתן לגשת לאיבר גם לפי המיקום שלו וגם לפי המרחק שלו מסוף הרשימה, באמצעות התייחסות למיקום השלילי שלו.</li>
    <li>איברים ברשימה יכולים לחזור על עצמם.</li>
    <li>רשימה יכולה לכלול איברים מסוג אחד בלבד (<dfn>רשימה הומוגנית</dfn>) או מכמה סוגים שונים (<dfn>רשימה הטרוגנית</dfn>).</li>
    <li>אורך הרשימה יכול להשתנות במהלך ריצת התוכנית.</li>
<ol>
## <p style="align: right; direction: rtl; float: right; clear: both;">תרגול</p>
### <p style="align: right; direction: rtl; float: right; clear: both;">סדר בבית המשפט!</p>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
כתבו קוד שיסדר את רשימת נשיאי בית המשפט לפי סדר אלפבתי.<br>
זה אכן אמור להיות מסורבל מאוד. בעתיד נלמד לכתוב קוד מוצלח יותר לבעיה הזו.<br>
השתמשו באינדקסים, ושמרו ערכים בצד במשתנים.
</p>
End of explanation
ice_cream_flavours = ['chocolate', 'vanilla', 'pistachio', 'banana']
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
בונוס: כתבו קטע קוד שבודק שהרשימה (שמכילה 5 איברים) אכן מסודרת.
</p>
<p style="align: right; direction: rtl; float: right; clear: both;">מה זה משובחה בכלל?</p>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
    לפניכם רשימה של שמות טעמי גלידה שנמצאים בדוכן הגלידה השכונתי.<br>
    קבלו מהמשתמש קיפיק את הטעם האהוב עליו, והדפיסו למשתמש האם הטעם שלו נמכר בדוכן.
</p>
End of explanation
rabanim = ['Rashi', 'Maimonides', 'Nachmanides', 'Rabbeinu Tam']
'Rashi' in rabanim
'RASHI' in rabanim
['Rashi'] in rabanim
['Rashi', 'Nachmanides'] in rabanim
'Bruria' in rabanim
rabanim + ['Gershom ben Judah']
'Gershom ben Judah' in rabanim
'3' in [1, 2, 3]
(1 + 5 - 3) in [1, 2, 3]
[1, 5, 3] > [1, 2, 3]
rabanim[0] in [rabanim[0] + rabanim[1]]
rabanim[0] in [rabanim[0]] + [rabanim[1]]
rabanim[-1] == rabanim[0] or rabanim[-1] == rabanim[1] or rabanim[-1] == rabanim[2] or rabanim[-1] == rabanim[3]
rabanim[-1] == rabanim[0] or rabanim[-1] == rabanim[1] or rabanim[-1] == rabanim[2] and rabanim[-1] != rabanim[3]
rabanim[-1] == rabanim[0] or rabanim[-1] == rabanim[1] or rabanim[-1] == rabanim[2] and rabanim[-1] == rabanim[3]
1 in [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
[1, 2, 3] in [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
[[1, 2, 3], [4, 5, 6], [7, 8, 9]][0][2]
[[1, 2, 3], [4, 5, 6], [7, 8, 9]][0][3]
[[1, 2, 3], [4, 5, 6], [7, 8, 9]][0][-1] * 5
[[[1, 2, 3], [4, 5, 6], [7, 8, 9]][0][-1]] * 5
[[1, 2, 3], [4, 5, 6], [7, 8, 9]][0][-1]
[[1, 2, 3], [4, 5, 6], [7, 8, 9]][0][-1] == [[7, 8, 9], [4, 5, 6], [1, 2, 3]][2][2]
[[1, 2, 3]] in [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
[[1, 2, 3], [4, 5, 6]] in [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
[[1, 2, 3], [4, 5, 6]] in [[[1, 2, 3], [4, 5, 6]], [7, 8, 9]]
Explanation: <p style="align: right; direction: rtl; float: right; clear: both;">מה רש"י?</p>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
    לפניכם כמה ביטויים.<br>
    רשמו לעצמכם מה תהיה תוצאת כל ביטוי, ורק אז הריצו אותו.
</p>
End of explanation
<END_TASK>