country, population = ('Israel', 8712000)

"""
Explanation: <img src="images/logo.jpg" style="display: block; margin-left: auto; margin-right: auto;" alt="לוגו של מיזם לימוד הפייתון. נחש מצויר בצבעי צהוב וכחול, הנע בין האותיות של שם הקורס: לומדים פייתון. הסלוגן המופיע מעל לשם הקורס הוא מיזם חינמי ללימוד תכנות בעברית.">
<span style="text-align: right; direction: rtl; float: right;">Unpacking</span>
<span style="text-align: right; direction: rtl; float: right; clear: both;">הקדמה</span>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
    הנה שורה שתיראה לנו קצת שונה תחבירית מכל מה שהכרנו עד עכשיו:
</p>
End of explanation
"""


print(f"There are {population} people living in {country}.")

"""
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
    בצד ימין יש tuple שמכיל שני איברים, ואנחנו מבצעים השמה לשני משתנים ששמותיהם <var>country</var> ו־<var>population</var>.<br>
    אומנם לא הייתי מעניק לפיסת הקוד הזו את תואר פיסת הקוד הנאה בעולם, אבל נראה שפייתון יודעת להריץ אותה:<br>
</p>
End of explanation
"""


a, b, c, d, e = (1, 2, 3, 4, 5)

"""
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
    חזינו כאן במעין השמה כפולה שפייתון מאפשרת לנו לבצע:<br>
    את האיבר הראשון בצד ימין היא הכניסה לאיבר הראשון בצד שמאל, ואת האיבר השני בצד ימין היא הכניסה לאיבר השני בצד שמאל.<br>
</p>

<img src="images/unpacking.svg?v=3" style="display: block; margin-left: auto; margin-right: auto;" alt="ארבע ריבועים, שניים בימין בצבע אפור ושניים בשמאל בצבע כתום. בין הריבועים האפורים לכתומים מפריד סימן שווה. בתוך הריבוע השמאלי ביותר כתוב country, ואליו יוצא חץ מהריבוע האפור, השלישי משמאל, שבו כתוב Israel. אל הריבוע הכתום השני, שממוקם כריבוע השני משמאל ובו כתוב population, יוצא חץ מהריבוע האפור, הממוקם כרביעי משמאל, שבו כתוב 8712000. בין הריבועים האפורים יש פסיק, וכך גם בין הריבועים הכתומים.">
<p style="text-align: right; direction: rtl; float: right; clear: both;">
    התחביר שמאפשר לפייתון לפרק מבנה ולבצע השמה של האיברים שבו לכמה שמות משתנים בו־זמנית, קיבל את השם <dfn>unpacking</dfn>.
</p>

<span style="text-align: right; direction: rtl; float: right; clear: both;">Unpacking לתוך משתנים</span>
<span style="text-align: right; direction: rtl; float: right; clear: both;">המקרה הקלאסי</span>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
    מתכנתים רבים מנצלים את הנוחות שב־unpacking, ולכן תמצאו שהוא מופיע פעמים רבות בקוד "בעולם האמיתי".<br>
    אפשר לבצע השמה לכמה משתנים שנרצה בו־זמנית:
</p>
End of explanation
"""


a, b = [1, 2]

"""
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
    הטכניקה הזו עובדת גם עבור טיפוסים אחרים שמוגדרים כ־iterable:
</p>
End of explanation
"""


a, b = 1, 2

"""
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
    ואפילו בלי סוגריים (זה לא קסם – בצד ימין נוצר בפועל tuple):
</p>
End of explanation
"""


point_on_map = (36.672011, 65.807761)
x, y = point_on_map
print(f"The treasure should be in ({x}, {y}).")

"""
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
    או כ"חילוץ איברים" מתוך משתנה קיים לתוך כמה משתנים נפרדים:
</p>
End of explanation
"""


countries_with_population = [
    ('Cyprus', 1198575),
    ('Eswatini', 1148130),
    ('Djibouti', 973560),
    ('Fiji', 889953),
]

"""
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
    בדוגמה האחרונה יצרנו בשורה הראשונה משתנה שמצביע ל־tuple. ב־tuple ישנם שני מספרים מסוג float.<br>
    בשורה השנייה פירקנו את ה־tuple – הערך הראשון שלו הוכנס לתוך המשתנה <var>x</var> והערך השני שלו הוכנס לתוך המשתנה <var>y</var>. 
</p>

<span style="text-align: right; direction: rtl; float: right; clear: both;">unpacking בלולאות for</span>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
    שימוש מקובל מאוד ל־unpacking, שאותו כבר הספקתם לראות בעבר, מתרחש בלולאות for.<br>
    ניצור רשימה של tuple־ים, שבה כל tuple ייצג מדינה ואת מספר האנשים החיים בה:
</p>
End of explanation
"""


for item in countries_with_population:
    country = item[0]
    population = item[1]
    print(f"There are {population:9,} people in {country}.")

"""
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
בעולם ללא unpacking, היינו צריכים לכתוב כך:
</p>
End of explanation
"""


for country, population in countries_with_population:
    print(f"There are {population:9,} people in {country}.")

"""
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
    אבל כיוון שאנחנו חיים בעולם טוב יותר, פייתון מאפשרת לנו לעשות את הטריק הבא:
</p>
End of explanation
"""


countries_with_population = {
    'Cyprus': 1198575,
    'Eswatini': 1148130,
    'Djibouti': 973560,
    'Fiji': 889953,
}

for country, population in countries_with_population.items():
    print(f"There are {population:9,} people in {country}.")

"""
Explanation: <table style="font-size: 1.5rem; border: 0px solid black; border-spacing: 0px;">
    <caption style="direction: rtl; text-align: center;">תצוגה של המשתנה <var>countries_with_population</var> ושל צורת הפירוק שלו</caption>
    <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.5rem; 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>
    </tr>
    <tbody>
        <tr>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid; background-color: #FF8578;">"Cyprus"</td>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid; background-color: #98FB98;">1198575</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;">-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.5rem; 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>
    </tr>
    <tbody>
        <tr>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid; background-color: #FF8578;">"Eswatini"</td>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid; background-color: #98FB98;">1148130</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;">-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.5rem; 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>
    </tr>
    <tbody>
        <tr>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid; background-color: #FF8578;">"Djibouti"</td>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid; background-color: #98FB98;">973560</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;">-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.5rem; 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>
    </tr>
    <tbody>
        <tr>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid; background-color: #FF8578;">"Fiji"</td>
            <td style="padding-top: 8px; padding-bottom: 8px; padding-left: 10px; padding-right: 10px; vertical-align: bottom; border: 2px solid; background-color: #98FB98;">889953</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;">-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>

<p style="text-align: right; direction: rtl; float: right; clear: both;">
    באיור למעלה, התאים האדומים מפורקים לתוך המשתנה <var>country</var> והתאים הירוקים לתוך המשתנה <var>population</var>.<br>
    כל איטרציה של הלולאה תגרום לפירוק של צמד אחד מתוך הרשימה, ולהשמתו בהתאמה לתוך צמד המשתנים שבראש לולאת ה־for.
</p>

<span style="text-align: right; direction: rtl; float: right; clear: both;">במילונים</span>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
    הרעיון של unpacking נעשה שימושי מאוד כשאנחנו רוצים לעבור בו־זמנית על המפתח ועל הערך של מילון.<br>
    כל שנצטרך לעשות כדי לקבל את המפתח לצד הערך בכל איטרציה, זה להשתמש בפעולה <code>items</code> על המילון:
</p>
End of explanation
"""


def division_and_modulo(number, divisor):
    division = number // divisor
    modulo = number % divisor
    return (division, modulo)  # אפשר גם בלי הסוגריים

"""
Explanation: <span style="text-align: right; direction: rtl; float: right; clear: both;">unpacking לערכי חזרה מפונקציה</span>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
    המקרה הזה לא שונה מהמקרים הקודמים שראינו, אבל חשבתי שיהיה נחמד לראות אותו מפורשות.<br>
    הפעם ניקח פונקציה שמחזירה tuple, ונשתמש ב־unpacking כדי לפרק את הערכים שהיא מחזירה למשתנים.<br>
</p>
End of explanation
"""


division_and_modulo(5, 2)

"""
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
    נשתמש בפונקציה:
</p>
End of explanation
"""


div, mod = division_and_modulo(5, 2)
print(f"division: {div}, modulo: {mod}")

"""
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
    והרי שאם מוחזר לנו tuple, אפשר לעשות לו unpacking:
</p>
End of explanation
"""


def print_treasure_location(x, y):
    print(f"{x}°N, {y}°E")

treasure_location = (36.671111, 65.808056)
print_treasure_location(treasure_location[0], treasure_location[1])

"""
Explanation: <span style="text-align: right; direction: rtl; float: right; clear: both;">Unpacking לארגומנטים</span>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
    נבחן את הקוד הפשוט הבא:<br>
</p>
End of explanation
"""


def print_treasure_location(x, y):
    print(f"{x}°N, {y}°E")

treasure_location = (36.671111, 65.808056)
print_treasure_location(*treasure_location)

"""
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
    הגדרנו פונקציה שמדפיסה לנו יפה מיקומים לפי x ו־y שהיא מקבלת.<br>
    המימוש הגיוני, אבל אוי א בראך! השימוש לא מאוד נוח!<br>
    בכל פעם אנחנו צריכים לפרק את ה־tuple שמכיל את המיקום ל־2 איברים, ולשלוח כל אחד מהם בנפרד.
</p>

<span style="text-align: right; direction: rtl; float: right; clear: both;">unpacking לארגומנטים לפי מיקום</span>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
    כפתרון למצב, פייתון מאפשרת לנו לעשות את הקסם הנפלא הבא:
</p>
End of explanation
"""


treasure_locations = [
    (36.671111, 65.808056),
    (53.759748, -2.648121),
    (52.333333, 1.183333),
    (52.655278, -1.906667),
]

def print_treasure_location(x, y):
    print(f"{x}°N, {y}°E")

for treasure_location in treasure_locations:
    print_treasure_location(*treasure_location)

"""
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
    נראה מוזר? זו לא טעות, זהו באמת תחביר שעדיין לא ראינו!<br>
    הכוכבית מפרקת את ה־tuple שהגדרנו, <var>treasure_location</var>, ושולחת לארגומנט <var>x</var> את הערך הראשון ולארגומנט <var>y</var> את הערך השני.
</p>

<p style="text-align: right; direction: rtl; float: right; clear: both;">
    אם היו לנו ערכים רבים, היינו יכולים להשתמש באותו טריק בלולאה:
</p>
End of explanation
"""


def print_treasure_location(x, y):
    print(f"{x}°N, {y}°E")

for treasure_x, treasure_y in treasure_locations:
    print_treasure_location(treasure_x, treasure_y)

"""
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
    אבל נזכור שאנחנו יכולים להשתמש גם בתעלול שלמדנו על unpacking בתוך for:
</p>
End of explanation
"""


treasure_maps = [
    {'x': 36.671111, 'y': 65.808056},
    {'x': 53.759748, 'y': -2.648121},
    {'x': 52.333333, 'y': 1.183333},
    {'x': 52.655278, 'y': -1.906667}
]

"""
Explanation: <span style="text-align: right; direction: rtl; float: right; clear: both;">unpacking לארגומנטים לפי שם הארגומנט</span>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
    מצוידים בפונקציה להדפסת המיקום, אנחנו מקבלים את רשימת המילונים הבאה:
</p>
End of explanation
"""


def print_treasure_location(x, y):
    print(f"{x}°N, {y}°E")

for location in treasure_maps:
    print_treasure_location(location.get('x'), location.get('y'))

"""
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
    אין מנוס, דנו אותנו לחיי עבדות של פירוק מילונים ולשליחת ערכיהם לפונקציות! 😢
</p>
End of explanation
"""


treasure_maps = [
    {'x': 36.671111, 'y': 65.808056},
    {'x': 53.759748, 'y': -2.648121},
    {'x': 52.333333, 'y': 1.183333},
    {'x': 52.655278, 'y': -1.906667}
]

def print_treasure_location(x, y):
    print(f"{x}°N, {y}°E")

for location in treasure_maps:
    print_treasure_location(**location)

"""
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
    או שאולי לא?
</p>

<p style="text-align: right; direction: rtl; float: right; clear: both;">
    במקרה המיוחד מאוד של מילון, אפשר לשלוח לפונקציה את הפרמטרים בעזרת unpacking עם שתי כוכביות.<br>
    המפתחות של המילון צריכים לציין את שם הפרמטרים של הפונקציה, והערכים במילון יהיו הערך שיועבר לאותם פרמטרים:
</p>
End of explanation
"""


def stringify_date(year, month, day):
    return f'{year}-{month}-{day}'

date = {'year': 1815, 'month': 12, 'day': 10}
print(stringify_date(**date))

"""
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
    מה קרה פה?<br>
    באיטרציה הראשונה <var>location</var> היה <code>{'x': 36.671111, 'y': 65.808056}</code>.<br>
    הפונקציה <code>print_treasure_locations</code> מחכה שיעבירו לה ערך לפרמטר <var>x</var> ולפרמטר <var>y</var>.<br>
    ה־unpacking שעשינו בעזרת שתי הכוכביות העביר את הערך של המפתח <code>'x'</code> במילון לפרמטר <var>x</var>, ואת הערך של המפתח <code>'y'</code> במילון לפרמטר <var>y</var>.
</p>

<p style="text-align: right; direction: rtl; float: right; clear: both;">
    נראה דוגמה נוספת לפונקציה שמקבלת שנה, חודש ויום ומחזירה לנו תאריך כמחרוזת:
</p>
End of explanation
"""


a, b, c = (1, 2)

"""
Explanation: <span style="text-align: right; direction: rtl; float: right; clear: both;">שגיאות</span>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
    אנחנו רגילים שפייתון די סובלנית, אבל על unpacking תקין היא לא מוותרת.<br>
    בדוגמה הבאה אנחנו מנסים לחלץ שני איברים לתוך שלושה משתנים, וזה לא נגמר טוב:
</p>
End of explanation
"""


def print_treasure_location(x, y):
    print(f"{x}°N, {y}°E")

location_3d = (36.671111, 65.808056, 63.124592)
print_treasure_location(*location_3d)

"""
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
    נקבל שגיאה דומה, אך שונה, כשננסה לחלץ מספר לא נכון של ארגומנטים לתוך פונקציה:
</p>
End of explanation
"""


a, b = 5

"""
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
    אם ננסה לעשות unpacking לאיבר שאינו iterable, תתקבל השגיאה הבאה:
</p>
End of explanation
"""


def fibonacci_no_unpacking(number):
    a = 1
    b = 1
    total = 0
    while a <= number:
        total = total + a
        temp = a
        a = b
        b = temp + b
    return total

"""
Explanation: <span style="text-align: right; direction: rtl; float: right; clear: both;">קוד לדוגמה</span>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
סדרת פיבונאצ'י היא סדרה שמתחילה באיברים 1 ו־1, וכל איבר בה הוא סכום שני האיברים הקודמים לו.<br>
האיברים הראשונים בסדרה, הם (מימין לשמאל) 1, 1, 2, 3, 5, 8, וכך הסדרה ממשיכה.<br>
במימוש פונקציה שמקבלת מספר ומחזירה את סכום כל איברי הסדרה עד אותו מספר, נוכל להשתמש ב־unpacking כדי לשפר את הקריאות של הפונקציה:
</p>

<p style="text-align: right; direction: rtl; float: right; clear: both;">
הפונקציה בלי unpacking:
</p>
End of explanation
"""


def fibonacci_sum(number):
    a, b = 1, 1
    total = 0
    while a <= number:
        total = total + a
        a, b = b, a + b
    return total

fibonacci_sum(8)

"""
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
הפונקציה עם unpacking:
</p>
End of explanation
"""


suspects = (
  {'name': 'Anne', 'evidences': ('derringer', 'Caesarea')},
  {'name': 'Taotao', 'evidences': ('derringer', 'Petersen House')},
  {'name': 'Pilpelet', 'evidences': ('Master Sword', 'Hyrule')},
)

"""
Explanation: <span style="text-align: right; direction: rtl; float: right; clear: both;">תרגילים</span>
<span style="text-align: right; direction: rtl; float: right; clear: both;">אליבי לרוצחים</span>
<p style="text-align: right; direction: rtl; float: right; clear: both;">
    לפניכם tuple המכיל כמה מילונים, כאשר כל מילון מייצג דמות חשודה ברצח.<br>
    בתוך כל אחד מהמילונים, תחת המפתח <em>evidences</em>, ישנו tuple שבו שני איברים.<br>
    האיבר הראשון הוא הנשק שתפסה המשטרה, והאיבר השני הוא המיקום המרכזי שבו הייתה הדמות באותו היום.<br>
    בהינתן שהרוצח השתמש באקדח דרינגר (derringer) ב־Petersen House, הדפיסו רק את שמות האנשים שעדיין חשודים ברצח.<br>
    השתדלו להשתמש ב־unpacking לפחות פעמיים.
</p>
End of explanation
"""


def check_evidences(weapon, location):
    return weapon.lower() == 'derringer' and location.lower() == 'petersen house'

"""
Explanation: <p style="text-align: right; direction: rtl; float: right; clear: both;">
    לנוחיותכם, הנה פונקציה שמקבלת כלי נשק ומיקום, ובודקת אם הראיות תואמות:
</p>
End of explanation
"""


