Skip to content

Commit 41d89f7

Browse files
committed
Fix notebook 2, add exercise.
1 parent 3b8b995 commit 41d89f7

1 file changed

Lines changed: 49 additions & 13 deletions

File tree

‎week2/2_Conditions_part2.ipynb‎

Lines changed: 49 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727
"source": [
2828
"<p style=\"text-align: right; direction: rtl; float: right;\">\n",
2929
"נזכר במחברת הקודמת בה למדנו על תנאים.<br>\n",
30-
"למדנו שבעזרת מילת המפתח <code>if</code> אנחנו יכולים לבקש מהקוד שלנו לבצע משהו מסוים רק אם תנאי כלשהו מתקיים.<br>\n",
31-
"במילים אחרות: אנחנו יכולים לבקש מהקוד שלנו לבצע פעולות, רק אם ביטוי בוליאני כלשהו הוא \"אמת\".\n",
30+
"למדנו שבעזרת מילת המפתח <code>if</code> אנחנו יכולים לבקש מהקוד שלנו לבצע סדרת פעולות, רק אם תנאי כלשהו מתקיים.<br>\n",
31+
"במילים אחרות: אנחנו יכולים לבקש מקטע קוד לרוץ, רק אם ביטוי בוליאני מסוים שווה ל־<code>True</code>.\n",
3232
"</p>"
3333
]
3434
},
@@ -43,9 +43,18 @@
4343
},
4444
{
4545
"cell_type": "code",
46-
"execution_count": null,
46+
"execution_count": 12,
4747
"metadata": {},
48-
"outputs": [],
48+
"outputs": [
49+
{
50+
"name": "stdout",
51+
"output_type": "stream",
52+
"text": [
53+
"How many shoes do you have in your drawer? 5\n",
54+
"You have odd number of shoes. Something is wrong!\n"
55+
]
56+
}
57+
],
4958
"source": [
5059
"shoes_in_my_drawer = int(input(\"How many shoes do you have in your drawer? \"))\n",
5160
"\n",
@@ -74,7 +83,7 @@
7483
" <div style=\"width: 90%\">\n",
7584
" <p style=\"text-align: right; direction: rtl; float: right;\">\n",
7685
" <strong>תרגול</strong>: כיצד הייתם משפרים את התוכנית שלמעלה כך שתדפיס למשתמש הודעת אישור שהכל בסדר?<br> \n",
77-
" השתמשו בכלים שרכשתם במחברת הקודמת. נסו לחשוב על 2 דרכים דומות. <em>פתרו את התרגיל לפני שתמשיכו הלאה</em>.\n",
86+
" השתמשו בכלים שרכשתם במחברת הקודמת. נסו לחשוב על לפחות 2 דרכים דומות. <em>פתרו את התרגיל לפני שתמשיכו הלאה</em>.\n",
7887
" </p>\n",
7988
" </div>\n",
8089
"</div>"
@@ -166,7 +175,7 @@
166175
"\n",
167176
"<ol style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
168177
"<li>אם <em style='background-color: #3C6478; color: white;'>השעה היא לפני 20:00 בערב</em>, <em style='background-color: #F58B4C; color: white;'>שמור על תאורה גבוהה במסעדה</em>. <em style='background-color: #3C6478; color: white;'>אחרת</em>, <em style='background-color: #F58B4C; color: white;'>עמעם את התאורה</em>.</li>\n",
169-
"<li>אם <em style='background-color: #3C6478; color: white;'>הגיל של המשתמש הוא לפחות 18</em>, <em style='background-color: #F58B4C; color: white;'>אפשר לו להכנס לבר</em>. <em style='background-color: #3C6478; color: white;'>אחרת</em>, <em style='background-color: #F58B4C; color: white;'>הצע לו אטרקציות אחרות לבקר בהן</em>.</li>\n",
178+
"<li>אם <em style='background-color: #3C6478; color: white;'>הגיל של המשתמש הוא לפחות 18</em>, <em style='background-color: #F58B4C; color: white;'>אפשר לו להכנס לבר</em>. <em style='background-color: #3C6478; color: white;'>אחרת</em>, <em style='background-color: #F58B4C; color: white;'>הצע לו אטרקציות אחרות לבקר בהן</em> וגם <em style='background-color: #F58B4C; color: white;'>אל תכניס אותו</em>.</li>\n",
170179
"<li>אם המשתמש בכספומט <em style='background-color: #3C6478; color: white;'>הזין מספר שלילי, או יותר מהסכום הזמין בחשבון שלו</em>, <em style='background-color: #F58B4C; color: white;'>הצג לו הודעת שגיאה</em>. <em style='background-color: #3C6478; color: white;'>אחרת</em>, <em style='background-color: #F58B4C; color: white;'>הורד לו את הסכום מהחשבון</em>, <em style='background-color: #F58B4C; color: white;'>הוצא לו שטרות בסכום שהזין</em>.</li>\n",
171180
"<li>אם <em style='background-color: #3C6478; color: white;'>הדוד כבוי וגם השעה היא לפני 8 בבוקר וגם השעה היא אחרי 7 בבוקר</em>, <em style='background-color: #F58B4C; color: white;'>הדלק את הדוד</em>. <em style='background-color: #3C6478; color: white;'>אחרת</em>, אם <em style='background-color: #3C6478; color: white;'>הדוד דלוק</em> – <em style='background-color: #F58B4C; color: white;'>כבה את הדוד</em>.</li>\n",
172181
"</ol>"
@@ -201,7 +210,7 @@
201210
"metadata": {},
202211
"source": [
203212
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
204-
"התוכנית המוצגת פה טיפה יותר מורכבת מהשרטוט המופיע למעלה, כדי לתת לה נופך טיפה יותר אמיתי.\n",
213+
"התוכנית המוצגת פה טיפה יותר מורכבת מהשרטוט המופיע למעלה, כדי לתת לה נופך טיפה יותר מציאותי.\n",
205214
"</p>"
206215
]
207216
},
@@ -212,8 +221,8 @@
212221
"outputs": [],
213222
"source": [
214223
"is_boiler_on = input(\"Is your boiler turned on? [yes/no] \")\n",
215-
"hour = int(input(\"Enter the hour (two digits): \"))\n",
216-
"minute = int(input(\"Enter the minute (two digits): \"))\n",
224+
"hour = int(input(\"Enter the hour (00-23): \"))\n",
225+
"minute = int(input(\"Enter the minute (00-59): \"))\n",
217226
"\n",
218227
"if is_boiler_on == 'yes':\n",
219228
" is_boiler_on = True\n",
@@ -266,7 +275,7 @@
266275
" </div>\n",
267276
" <div style=\"width: 90%\">\n",
268277
" <p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
269-
" <strong>תרגול</strong>: כתבו קוד שמקבל את כמות האלבומים שנמכרו עבור אלבום המטאל המצליח \"שיר הרס\", והדפיסו את דירוג האלבום המתאים.<br>\n",
278+
" <strong>תרגול</strong>: כתבו קוד שמקבל את כמות העותקים שנמכרו עבור אלבום המטאל המצליח \"שיר הרס\", והדפיסו את דירוג האלבום המתאים.<br>\n",
270279
" לדוגמה, אם המשתמש הכניס שמספר המכירות היה <em>520,196</em>, הדפיסו \"<samp>אלבום זהב</samp>\".<br>\n",
271280
" אם האלבום לא נמכר מספיק כדי להיות זכאי לדירוג, הדפיסו \"<samp>האלבום אינו רב־מכר</samp>\".<br>\n",
272281
" פתרו את התרגיל לפני שתמשיכו הלאה.<br>\n",
@@ -328,7 +337,8 @@
328337
"metadata": {},
329338
"source": [
330339
"<p style=\"text-align: right; direction: rtl; float: right;\">\n",
331-
"ודאי שמתם לב שהקוד נראה מעט מסורבל. ננסה לפתור את זה בעזרת הגדרת טווחים מדויקים עבור כל דירוג.<br>\n",
340+
"ודאי שמתם לב שהקוד נראה מעט מסורבל, והוא ילך ויסתרבל ככל שנוסיף יותר מקרים אפשריים.<br>\n",
341+
"ננסה לפתור את זה בעזרת הגדרת טווחים מדויקים עבור כל דירוג.<br>\n",
332342
"הקוד המשופץ יראה כך:\n",
333343
"</p>"
334344
]
@@ -426,7 +436,8 @@
426436
"source": [
427437
"### <div style=\"text-align: right; direction: rtl; float: right; clear: both;\">מה קורה כאן?</p>\n",
428438
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
429-
" הטריק הוא שבשורה בה כתוב <code>elif</code>, פייתון ינסה לבדוק את התנאי <em>רק אם</em> התנאים שלפניו לא התקיימו (הביטויים הבוליאניים בתנאים לפני היו <code>False</code>).<br>\n",
439+
" הטריק הוא שבשורה בה כתוב <code>elif</code>, פייתון ינסה לבדוק את התנאי <em>רק אם</em> התנאים שלפניו לא התקיימו.<br>\n",
440+
" במילים אחרות – הערכים של הביטויים הבוליאניים בתנאים שלפניו היו <code>False</code>.<br>\n",
430441
" בכל שורה, פייתון בודקת האם התנאי שבאותה שורה מתקיים, ואז:\n",
431442
"</p>\n",
432443
"\n",
@@ -448,7 +459,7 @@
448459
" <div style=\"width: 90%\">\n",
449460
" <p style=\"text-align: right; direction: rtl;\">\n",
450461
" <code>if</code> יכול להתקיים בלי <code>else</code> ובלי <code>elif</code>ים אחריו.<br>\n",
451-
" <code>if</code> תמיד יהיה ראשון, ואם יש צורך להוסיף תנאים, <code>else</code> תמיד יהיה אחרון, וביניהם יהיו <code>elif</code>ים.<br>\n",
462+
" <code>if</code> תמיד יהיה ראשון, ואם יש צורך להוסיף מקרים, <code>else</code> תמיד יהיה אחרון, וביניהם יהיו <code>elif</code>ים.<br>\n",
452463
" </p>\n",
453464
" </div>\n",
454465
"</div>"
@@ -481,6 +492,31 @@
481492
"</p>"
482493
]
483494
},
495+
{
496+
"cell_type": "markdown",
497+
"metadata": {},
498+
"source": [
499+
"### <p style=\"align: right; direction: rtl; float: right;\">תרגול: חשבון למתחילים, שלב 1</p>"
500+
]
501+
},
502+
{
503+
"cell_type": "markdown",
504+
"metadata": {},
505+
"source": [
506+
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
507+
"דני רוצה ללמוד חשבון, ולצורך כך הוא צריך מחשבון פשוט שיעזור לו.<br>\n",
508+
"כתבו תוכנה שמקבלת 2 מספרים ופעולה חשבונית (<em>+</em>, <em>-</em>, <em>*</em>, <em>/</em> או <em>**</em>), ויודעת להחזיר את התשובה הנכונה לתרגיל.<br>\n",
509+
"</p>\n",
510+
"<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n",
511+
"לדוגמה:\n",
512+
"</p>\n",
513+
"<ul style=\"text-align: right; direction: rtl; float: right; clear: both; margin-top: 0;\">\n",
514+
" <li>עבור מספר ראשון <em>5</em>, מספר שני <em>2</em> ופעולה <em>/</em> התוכנית תדפיס <samp>2.5</samp>, מכיוון ש־<span dir=\"ltr\">5/2 == 2.5</span>.</li>\n",
515+
" <li>עבור מספר ראשון <em>9</em>, מספר שני <em>2</em> ופעולה <em>**</em> התוכנית תדפיס <samp>81</samp>, מכיוון ש־<span dir=\"ltr\">9<sup>2</sup> == 81</span>.</li>\n",
516+
" <li>עבור מספר ראשון <em>3</em>, מספר שני <em>7</em> ופעולה <em>-</em> התוכנית תדפיס <samp dir=\"ltr\" style=\"direction: ltr;\">-4</samp>, מכיוון ש־<span dir=\"ltr\">3-7 == -4</span>.</li>\n",
517+
"</ul>"
518+
]
519+
},
484520
{
485521
"cell_type": "markdown",
486522
"metadata": {},

0 commit comments

Comments
 (0)