Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit d9e2a3c

Browse files
Merge pull request #31 from PythonFreeCourse/week4-fixes
Week4 fixes
2 parents c227280 + b7df2c3 commit d9e2a3c

File tree

7 files changed

+385
-406
lines changed

7 files changed

+385
-406
lines changed

‎week4/1_For_Loops.ipynb‎

Lines changed: 72 additions & 61 deletions
Large diffs are not rendered by default.

‎week4/2_Dictionaries.ipynb‎

Lines changed: 105 additions & 83 deletions
Large diffs are not rendered by default.

‎week4/3_Dictionaries_part2.ipynb‎

Lines changed: 63 additions & 43 deletions
Large diffs are not rendered by default.

‎week4/4_Unpacking.ipynb‎

Lines changed: 54 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"metadata": {},
2727
"source": [
2828
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
29-
" הנה שורה שתראה לנו קצת שונה תחבירית מכל מה שהכרנו עד עכשיו:\n",
29+
" הנה שורה שתיראה לנו קצת שונה תחבירית מכל מה שהכרנו עד עכשיו:\n",
3030
"</p>"
3131
]
3232
},
@@ -45,7 +45,7 @@
4545
"source": [
4646
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
4747
" בצד ימין יש tuple שמכיל שני איברים, ואנחנו מבצעים השמה לשני משתנים ששמותיהם <var>country</var> ו־<var>population</var>.<br>\n",
48-
" אמנם לא הייתי נותן לפיסת הקוד הזו את תואר פיסת הקוד הנאה בעולם, אבל נראה שפייתון יודע להריץ אותה:<br>\n",
48+
" אומנם לא הייתי מעניק לפיסת הקוד הזו את תואר פיסת הקוד הנאה בעולם, אבל נראה שפייתון יודעת להריץ אותה:<br>\n",
4949
"</p>"
5050
]
5151
},
@@ -80,7 +80,7 @@
8080
"metadata": {},
8181
"source": [
8282
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
83-
" התחביר שמאפשר לפייתון לפרק מבנה ולבצע השמה של האיברים שבו לכמה שמות משתנים במקביל, קיבל את השם <dfn>unpacking</dfn>.\n",
83+
" התחביר שמאפשר לפייתון לפרק מבנה ולבצע השמה של האיברים שבו לכמה שמות משתנים בו־זמנית, קיבל את השם <dfn>unpacking</dfn>.\n",
8484
"</p>"
8585
]
8686
},
@@ -103,8 +103,8 @@
103103
"metadata": {},
104104
"source": [
105105
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
106-
" מתכנתים רבים מנצלים את הנוחות שב־unpacking, מה שגורם לו להופיע בקוד שתמצאו \"בעולם האמיתי\" פעמים רבות.<br>\n",
107-
" ניתן לבצע השמה לכמה משתנים שנרצה במקביל:\n",
106+
" מתכנתים רבים מנצלים את הנוחות שב־unpacking, ולכן תמצאו שהוא מופיע פעמים רבות בקוד \"בעולם האמיתי\".<br>\n",
107+
" אפשר לבצע השמה לכמה משתנים שנרצה בו־זמנית:\n",
108108
"</p>"
109109
]
110110
},
@@ -195,8 +195,8 @@
195195
"metadata": {},
196196
"source": [
197197
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
198-
" שימוש מקובל מאוד ל־unpacking אותו כבר הספקתם לראות בעבר, מתרחש בלולאות for.<br>\n",
199-
" ניצור רשימה של tuple־ים, בה כל tuple ייצג מדינה ואת כמות האנשים החיים בה:\n",
198+
" שימוש מקובל מאוד ל־unpacking, שאותו כבר הספקתם לראות בעבר, מתרחש בלולאות for.<br>\n",
199+
" ניצור רשימה של tuple־ים, שבה כל tuple ייצג מדינה ואת מספר האנשים החיים בה:\n",
200200
"</p>"
201201
]
202202
},
@@ -219,7 +219,7 @@
219219
"metadata": {},
220220
"source": [
221221
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
222-
"בעולם ללא unpacking, היינו צריכים לכתוב את הקוד הבא:\n",
222+
"בעולם ללא unpacking, היינו צריכים לכתוב כך:\n",
223223
"</p>"
224224
]
225225
},
@@ -259,7 +259,7 @@
259259
"metadata": {},
260260
"source": [
261261
"<table style=\"font-size: 1.5rem; border: 0px solid black; border-spacing: 0px;\">\n",
262-
" <caption style=\"direction: rtl; text-align: center;\">תצוגה על המשתנה <var>countries_with_population</var> ועל צורת הפירוק שלו</caption>\n",
262+
" <caption style=\"direction: rtl; text-align: center;\">תצוגה של המשתנה <var>countries_with_population</var> ושל צורת הפירוק שלו</caption>\n",
263263
" <tr>\n",
264264
" <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>\n",
265265
" <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>\n",
@@ -357,7 +357,7 @@
357357
"source": [
358358
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
359359
" באיור למעלה, התאים האדומים מפורקים לתוך המשתנה <var>country</var> והתאים הירוקים לתוך המשתנה <var>population</var>.<br>\n",
360-
" כל איטרציה של הלולאה תגרום לפירוק של צמד אחד מתוך הרשימה, והשמתם בהתאמה לתוך צמד המשתנים שבראש לולאת ה־for.\n",
360+
" כל איטרציה של הלולאה תגרום לפירוק של צמד אחד מתוך הרשימה, ולהשמתו בהתאמה לתוך צמד המשתנים שבראש לולאת ה־for.\n",
361361
"</p>"
362362
]
363363
},
@@ -373,7 +373,7 @@
373373
"metadata": {},
374374
"source": [
375375
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
376-
" הרעיון של unpacking הופך להיות שימושי מאוד כשאנחנו רוצים לעבור על המפתח והערך של מילון בו זמנית.<br>\n",
376+
" הרעיון של unpacking נעשה שימושי מאוד כשאנחנו רוצים לעבור בו־זמנית על המפתח ועל הערך של מילון.<br>\n",
377377
" כל שנצטרך לעשות כדי לקבל את המפתח לצד הערך בכל איטרציה, זה להשתמש בפעולה <code>items</code> על המילון:\n",
378378
"</p>"
379379
]
@@ -414,8 +414,8 @@
414414
"metadata": {},
415415
"source": [
416416
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
417-
" המקרה הזה לא שונה מהמקרים הקודמים שראינו, אבל חשבתי שיהיה נחמד לראות אותו במפורש.<br>\n",
418-
" הפעם נקח פונקציה שמחזירה tuple, ונשתמש ב־unpacking כדי לפרק את הערכים שהיא מחזירה למשתנים.<br>\n",
417+
" המקרה הזה לא שונה מהמקרים הקודמים שראינו, אבל חשבתי שיהיה נחמד לראות אותו מפורשות.<br>\n",
418+
" הפעם ניקח פונקציה שמחזירה tuple, ונשתמש ב־unpacking כדי לפרק את הערכים שהיא מחזירה למשתנים.<br>\n",
419419
"</p>"
420420
]
421421
},
@@ -503,8 +503,8 @@
503503
"source": [
504504
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
505505
" הגדרנו פונקציה שמדפיסה לנו יפה מיקומים לפי x ו־y שהיא מקבלת.<br>\n",
506-
" המימוש הגיוני, אבל אוי א בראך! השימוש מאוד לא נוח!<br>\n",
507-
" כל פעם אנחנו צריכים לפרק את ה־tuple שמכיל את המיקום ל־2 איברים, ולשלוח כל אחד מהם בנפרד.\n",
506+
" המימוש הגיוני, אבל אוי א בראך! השימוש לא מאוד נוח!<br>\n",
507+
" בכל פעם אנחנו צריכים לפרק את ה־tuple שמכיל את המיקום ל־2 איברים, ולשלוח כל אחד מהם בנפרד.\n",
508508
"</p>"
509509
]
510510
},
@@ -542,7 +542,7 @@
542542
"metadata": {},
543543
"source": [
544544
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
545-
" נראה מוזר? זו לא טעות, זהו באמת תחביר שמעולם לא ראינו עדיין!<br>\n",
545+
" נראה מוזר? זו לא טעות, זהו באמת תחביר שעדיין לא ראינו!<br>\n",
546546
" הכוכבית מפרקת את ה־tuple שהגדרנו, <var>treasure_location</var>, ושולחת לארגומנט <var>x</var> את הערך הראשון ולארגומנט <var>y</var> את הערך השני.\n",
547547
"</p>"
548548
]
@@ -640,7 +640,7 @@
640640
"metadata": {},
641641
"source": [
642642
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
643-
" אין מנוס, דנו אותנו לחיי עבדות של פירוק מילונים ושליחת ערכיהם לפונקציות! 😢\n",
643+
" אין מנוס, דנו אותנו לחיי עבדות של פירוק מילונים ולשליחת ערכיהם לפונקציות! 😢\n",
644644
"</p>"
645645
]
646646
},
@@ -671,7 +671,7 @@
671671
"metadata": {},
672672
"source": [
673673
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
674-
" במקרה המאוד מיוחד של מילון, ניתן לשלוח לפונקציה את הפרמטרים בעזרת unpacking עם שתי כוכביות.<br>\n",
674+
" במקרה המיוחד מאוד של מילון, אפשר לשלוח לפונקציה את הפרמטרים בעזרת unpacking עם שתי כוכביות.<br>\n",
675675
" המפתחות של המילון צריכים לציין את שם הפרמטרים של הפונקציה, והערכים במילון יהיו הערך שיועבר לאותם פרמטרים:\n",
676676
"</p>"
677677
]
@@ -704,7 +704,7 @@
704704
" מה קרה פה?<br>\n",
705705
" באיטרציה הראשונה <var>location</var> היה <code>{'x': 36.671111, 'y': 65.808056}</code>.<br>\n",
706706
" הפונקציה <code>print_treasure_locations</code> מחכה שיעבירו לה ערך לפרמטר <var>x</var> ולפרמטר <var>y</var>.<br>\n",
707-
" ה־unpacking שעשינו בעזרת שתי הכוכביות העביר את הערך של המפתח <code>'x'</code> במילון לפרמטר <var>x</var>, ואת הערך שהיה תחת המפתח <code>'y'</code> במילון לפרמטר <var>y</var>.\n",
707+
" ה־unpacking שעשינו בעזרת שתי הכוכביות העביר את הערך של המפתח <code>'x'</code> במילון לפרמטר <var>x</var>, ואת הערך של המפתח <code>'y'</code> במילון לפרמטר <var>y</var>.\n",
708708
"</p>"
709709
]
710710
},
@@ -742,7 +742,7 @@
742742
"metadata": {},
743743
"source": [
744744
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
745-
" אנחנו רגילים שפייתון די מתירני, אבל על unpacking תקין הוא לא מוותר.<br>\n",
745+
" אנחנו רגילים שפייתון די סובלנית, אבל על unpacking תקין היא לא מוותרת.<br>\n",
746746
" בדוגמה הבאה אנחנו מנסים לחלץ שני איברים לתוך שלושה משתנים, וזה לא נגמר טוב:\n",
747747
"</p>"
748748
]
@@ -761,7 +761,7 @@
761761
"metadata": {},
762762
"source": [
763763
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
764-
" נקבל שגיאה דומה אך שונה כשננסה לחלץ מספר לא נכון של ארגומנטים לתוך פונקציה:\n",
764+
" נקבל שגיאה דומה, אך שונה, כשננסה לחלץ מספר לא נכון של ארגומנטים לתוך פונקציה:\n",
765765
"</p>"
766766
]
767767
},
@@ -814,14 +814,22 @@
814814
"</p>"
815815
]
816816
},
817+
{
818+
"cell_type": "markdown",
819+
"metadata": {},
820+
"source": [
821+
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
822+
"הפונקציה בלי unpacking:\n",
823+
"</p>"
824+
]
825+
},
817826
{
818827
"cell_type": "code",
819828
"execution_count": null,
820829
"metadata": {},
821830
"outputs": [],
822831
"source": [
823832
"def fibonacci_no_unpacking(number):\n",
824-
" # הפונקציה בלי unpacking\n",
825833
" a = 1\n",
826834
" b = 1\n",
827835
" total = 0\n",
@@ -830,11 +838,25 @@
830838
" temp = a\n",
831839
" a = b\n",
832840
" b = temp + b\n",
833-
" return total\n",
834-
"\n",
835-
"\n",
841+
" return total"
842+
]
843+
},
844+
{
845+
"cell_type": "markdown",
846+
"metadata": {},
847+
"source": [
848+
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
849+
"הפונקציה עם unpacking:\n",
850+
"</p>"
851+
]
852+
},
853+
{
854+
"cell_type": "code",
855+
"execution_count": null,
856+
"metadata": {},
857+
"outputs": [],
858+
"source": [
836859
"def fibonacci_sum(number):\n",
837-
" # הפונקציה עם unpacking\n",
838860
" a, b = 1, 1\n",
839861
" total = 0\n",
840862
" while a <= number:\n",
@@ -864,10 +886,10 @@
864886
"metadata": {},
865887
"source": [
866888
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
867-
" לפניכם tuple המכיל מספר מילונים, כאשר כל מילון מייצג דמות חשודה ברצח.<br>\n",
889+
" לפניכם tuple המכיל כמה מילונים, כאשר כל מילון מייצג דמות חשודה ברצח.<br>\n",
868890
" בתוך כל אחד מהמילונים, תחת המפתח <em>evidences</em>, ישנו tuple שבו שני איברים.<br>\n",
869-
" האיבר הראשון הוא הנשק שנתפס על ידי המשטרה, והאיבר השני הוא המיקום המרכזי בו הדמות הייתה באותו יום.<br>\n",
870-
" בהנתן שהרצח בוצע על ידי אקדח דרינגר (derringer) ב־Petersen House, הדפיסו רק את שמות האנשים שעדיין חשודים ברצח.<br>\n",
891+
" האיבר הראשון הוא הנשק שתפסה המשטרה, והאיבר השני הוא המיקום המרכזי שבו הייתה הדמות באותו היום.<br>\n",
892+
" בהינתן שהרוצח השתמש באקדח דרינגר (derringer) ב־Petersen House, הדפיסו רק את שמות האנשים שעדיין חשודים ברצח.<br>\n",
871893
" השתדלו להשתמש ב־unpacking לפחות פעמיים.\n",
872894
"</p>"
873895
]
@@ -890,13 +912,13 @@
890912
"metadata": {},
891913
"source": [
892914
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
893-
" לנוחיותכם, הנה פונקציה שמקבלת כלי נשק ומיקום, ובודקת האם הראיות תואמות:\n",
915+
" לנוחיותכם, הנה פונקציה שמקבלת כלי נשק ומיקום, ובודקת אם הראיות תואמות:\n",
894916
"</p>"
895917
]
896918
},
897919
{
898920
"cell_type": "code",
899-
"execution_count": 189,
921+
"execution_count": null,
900922
"metadata": {},
901923
"outputs": [],
902924
"source": [
@@ -921,7 +943,7 @@
921943
"name": "python",
922944
"nbconvert_exporter": "python",
923945
"pygments_lexer": "ipython3",
924-
"version": "3.7.4"
946+
"version": "3.7.6"
925947
}
926948
},
927949
"nbformat": 4,

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /