|
27 | 27 | "source": [ |
28 | 28 | "<p style=\"text-align: right; direction: rtl; float: right;\">\n", |
29 | 29 | "נזכר במחברת הקודמת בה למדנו על תנאים.<br>\n", |
30 | | - "למדנו שבעזרת מילת המפתח <code>if</code> אנחנו יכולים לבקש מהקוד שלנו לבצע משהו מסוים רק אם תנאי כלשהו מתקיים.<br>\n", |
31 | | - "במילים אחרות: אנחנו יכולים לבקש מהקוד שלנו לבצע פעולות, רק אם ביטוי בוליאני כלשהו הוא \"אמת\".\n", |
| 30 | + "למדנו שבעזרת מילת המפתח <code>if</code> אנחנו יכולים לבקש מהקוד שלנו לבצע סדרת פעולות, רק אם תנאי כלשהו מתקיים.<br>\n", |
| 31 | + "במילים אחרות: אנחנו יכולים לבקש מקטע קוד לרוץ, רק אם ביטוי בוליאני מסוים שווה ל־<code>True</code>.\n", |
32 | 32 | "</p>" |
33 | 33 | ] |
34 | 34 | }, |
|
43 | 43 | }, |
44 | 44 | { |
45 | 45 | "cell_type": "code", |
46 | | - "execution_count": null, |
| 46 | + "execution_count": 12, |
47 | 47 | "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 | + ], |
49 | 58 | "source": [ |
50 | 59 | "shoes_in_my_drawer = int(input(\"How many shoes do you have in your drawer? \"))\n", |
51 | 60 | "\n", |
|
74 | 83 | " <div style=\"width: 90%\">\n", |
75 | 84 | " <p style=\"text-align: right; direction: rtl; float: right;\">\n", |
76 | 85 | " <strong>תרגול</strong>: כיצד הייתם משפרים את התוכנית שלמעלה כך שתדפיס למשתמש הודעת אישור שהכל בסדר?<br> \n", |
77 | | - " השתמשו בכלים שרכשתם במחברת הקודמת. נסו לחשוב על 2 דרכים דומות. <em>פתרו את התרגיל לפני שתמשיכו הלאה</em>.\n", |
| 86 | + " השתמשו בכלים שרכשתם במחברת הקודמת. נסו לחשוב על לפחות 2 דרכים דומות. <em>פתרו את התרגיל לפני שתמשיכו הלאה</em>.\n", |
78 | 87 | " </p>\n", |
79 | 88 | " </div>\n", |
80 | 89 | "</div>" |
|
166 | 175 | "\n", |
167 | 176 | "<ol style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n", |
168 | 177 | "<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", |
170 | 179 | "<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", |
171 | 180 | "<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", |
172 | 181 | "</ol>" |
|
201 | 210 | "metadata": {}, |
202 | 211 | "source": [ |
203 | 212 | "<p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n", |
204 | | - "התוכנית המוצגת פה טיפה יותר מורכבת מהשרטוט המופיע למעלה, כדי לתת לה נופך טיפה יותר אמיתי.\n", |
| 213 | + "התוכנית המוצגת פה טיפה יותר מורכבת מהשרטוט המופיע למעלה, כדי לתת לה נופך טיפה יותר מציאותי.\n", |
205 | 214 | "</p>" |
206 | 215 | ] |
207 | 216 | }, |
|
212 | 221 | "outputs": [], |
213 | 222 | "source": [ |
214 | 223 | "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", |
217 | 226 | "\n", |
218 | 227 | "if is_boiler_on == 'yes':\n", |
219 | 228 | " is_boiler_on = True\n", |
|
266 | 275 | " </div>\n", |
267 | 276 | " <div style=\"width: 90%\">\n", |
268 | 277 | " <p style=\"text-align: right; direction: rtl; float: right; clear: both;\">\n", |
269 | | - " <strong>תרגול</strong>: כתבו קוד שמקבל את כמות האלבומים שנמכרו עבור אלבום המטאל המצליח \"שיר הרס\", והדפיסו את דירוג האלבום המתאים.<br>\n", |
| 278 | + " <strong>תרגול</strong>: כתבו קוד שמקבל את כמות העותקים שנמכרו עבור אלבום המטאל המצליח \"שיר הרס\", והדפיסו את דירוג האלבום המתאים.<br>\n", |
270 | 279 | " לדוגמה, אם המשתמש הכניס שמספר המכירות היה <em>520,196</em>, הדפיסו \"<samp>אלבום זהב</samp>\".<br>\n", |
271 | 280 | " אם האלבום לא נמכר מספיק כדי להיות זכאי לדירוג, הדפיסו \"<samp>האלבום אינו רב־מכר</samp>\".<br>\n", |
272 | 281 | " פתרו את התרגיל לפני שתמשיכו הלאה.<br>\n", |
|
328 | 337 | "metadata": {}, |
329 | 338 | "source": [ |
330 | 339 | "<p style=\"text-align: right; direction: rtl; float: right;\">\n", |
331 | | - "ודאי שמתם לב שהקוד נראה מעט מסורבל. ננסה לפתור את זה בעזרת הגדרת טווחים מדויקים עבור כל דירוג.<br>\n", |
| 340 | + "ודאי שמתם לב שהקוד נראה מעט מסורבל, והוא ילך ויסתרבל ככל שנוסיף יותר מקרים אפשריים.<br>\n", |
| 341 | + "ננסה לפתור את זה בעזרת הגדרת טווחים מדויקים עבור כל דירוג.<br>\n", |
332 | 342 | "הקוד המשופץ יראה כך:\n", |
333 | 343 | "</p>" |
334 | 344 | ] |
|
426 | 436 | "source": [ |
427 | 437 | "### <div style=\"text-align: right; direction: rtl; float: right; clear: both;\">מה קורה כאן?</p>\n", |
428 | 438 | "<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", |
430 | 441 | " בכל שורה, פייתון בודקת האם התנאי שבאותה שורה מתקיים, ואז:\n", |
431 | 442 | "</p>\n", |
432 | 443 | "\n", |
|
448 | 459 | " <div style=\"width: 90%\">\n", |
449 | 460 | " <p style=\"text-align: right; direction: rtl;\">\n", |
450 | 461 | " <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", |
452 | 463 | " </p>\n", |
453 | 464 | " </div>\n", |
454 | 465 | "</div>" |
|
481 | 492 | "</p>" |
482 | 493 | ] |
483 | 494 | }, |
| 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 | + }, |
484 | 520 | { |
485 | 521 | "cell_type": "markdown", |
486 | 522 | "metadata": {}, |
|
0 commit comments