|
25 | 25 | "הסיסמה תורכב כך עבור שם משתמש נתון:<br>\n", |
26 | 26 | "\n", |
27 | 27 | "<ul style=\"text-align:right; direction:rtl;\"><li>שם המשתמש באותיות גדולות ומיד אחריו שם המשתמש באותיות קטנות.\n", |
28 | | - " </li><li>הוספת האות <code>\"X\"</code> כאורך השם מימין.</li></ul>\n", |
| 28 | + " </li><li>הוספת האות <samp>\"X\"</samp> כאורך השם מימין.</li></ul>\n", |
29 | 29 | "</p>\n", |
30 | 30 | "<p style=\"text-align:right;direction:rtl;\">שימו לב כי שם המשתמש לא חייב לכלול אותיות בלבד (ספרות וסימנים גם אפשריים).<br>\n", |
31 | 31 | " כמו כן, לא נאפשר שם משתמש שהוא מחרוזת ריקה. במקרה זה החזירו מחרוזת ריקה.<br>\n", |
32 | | - " <br> לדוגמה, עבור שם המשתמש <code>'stam'</code> המחולל יחזיר את הסיסמה: <samp>'stamSTAMXXXX'</samp><br>הריצו את הפונקציה על 4 דוגמאות נוספות לפחות, באורכים שונים, ובדקו שקיבלתם פלט כמצופה.</p>" |
| 32 | + " <br> לדוגמה, עבור שם המשתמש <samp>'stam'</samp> המחולל יחזיר את הסיסמה: <samp>'stamSTAMXXXX'</samp><br>הריצו את הפונקציה על 4 דוגמאות נוספות לפחות, באורכים שונים, ובדקו שקיבלתם פלט כמצופה.</p>" |
33 | 33 | ] |
34 | 34 | }, |
35 | 35 | { |
|
52 | 52 | "cell_type": "markdown", |
53 | 53 | "metadata": {}, |
54 | 54 | "source": [ |
55 | | - "<p style=\"text-align:right;direction:rtl;\">כעת נקבל שם משתמש וסיסמה, ונבדוק האם השילוב הוא נכון. בדקו באמצעות מחולל הסיסמאות מהסעיף הקודם האם הסיסמה של המשתמש תואמת את הסיסמה הנוצרת על-ידי המחולל. הדפיסו ברוך הבא אם הסיסמא נכונה, אחרת הדפיסו סיסמא לא נכונה.</p>\n", |
| 55 | + "<p style=\"text-align:right;direction:rtl;\">כעת נקבל שם משתמש וסיסמה, ונבדוק האם השילוב הוא נכון. בדקו באמצעות מחולל הסיסמאות מהסעיף הקודם האם הסיסמה של המשתמש תואמת את הסיסמה הנוצרת על-ידי המחולל. הדפיסו ברוך הבא אם הסיסמה נכונה, אחרת הדפיסו סיסמה לא נכונה.</p>\n", |
56 | 56 | "<code>login('stam', 'stamSTAMXXXX')</code><br><samp>Welcome stam!</samp><br><br><code>login('stam', 'mats')</code><br><samp>Wrong Password!</samp>" |
57 | 57 | ] |
58 | 58 | }, |
|
71 | 71 | "source": [ |
72 | 72 | "<p style=\"text-align:right;direction:rtl;\">כתבו פונקציה שמחזירה <code>True</code>\n", |
73 | 73 | " אם בוצע חיבור מוצלח, אחרת החזירו <code>False</code>.<br>\n", |
74 | | - "פונקציה זו מאוד דומה לפונקציה הקודמת שכתבתם, רק שאינה מדפיסה דבר.<br> במקום ההדפסה יוחזר ערך בוליאני מתאים.<br>לדוגמא:<br></p><br><code>login('stam', stamSTAMXXXX')</code><br><samp>True</samp><br><code>login('stam', 'mats')</code><br><samp>False</samp><br>" |
| 74 | + "פונקציה זו מאוד דומה לפונקציה הקודמת שכתבתם, רק שאינה מדפיסה דבר.<br> במקום ההדפסה יוחזר ערך בוליאני מתאים.<br>לדוגמה:<br></p><br><code>login('stam', stamSTAMXXXX')</code><br><samp>True</samp><br><code>login('stam', 'mats')</code><br><samp>False</samp><br>" |
75 | 75 | ] |
76 | 76 | }, |
77 | 77 | { |
|
104 | 104 | "cell_type": "markdown", |
105 | 105 | "metadata": {}, |
106 | 106 | "source": [ |
107 | | - "<p style=\"text-align:right;direction:rtl;\">כעת נרחיב את מערכת הבנק שלנו.<br>נניח כי לכל לקוח בבנק יש בחשבון הבנק 500 ש\"ח.<br>באמצעות הפוקנציות הקודמות שכתבנו נממש את התוכנית הבאה:<br><ul style=\"text-align:right; direction:rtl;\"><li>נבקש מהמשתמש שם משתמש וסיסמה.</li><li>נאמת את שם המשתמש והסיסמה מול מחולל הסיסמאות. אם האימות הצליח נשאל מהו הסכום המבוקש למשיכה. אחרת נכתוב כי הזיהוי נכשל.</li><li>כיון שלמשתמש יש 500 ש\"ח בחשבון, עלינו לוודא שהסכום לא גבוה מ-500 ש\"ח. אם הסכום אכן גבוה מ-500 ש\"ח נדפיס \"לא ניתן למשוך מעבר ליתרה\".</li><li>כמו כן, עלינו לוודא כי הסכום אינו שלילי או 0. במקרה זה נדפיס \"סכום למשיכה אינו חוקי\".<li>אם הסכום חוקי, נדפיס \"אנא משוך את כספך על סך (הסכום שהוקש). יתרתך הינה: (היתרה שנשארה)\"</li></ul></p>" |
| 107 | + "<p style=\"text-align:right;direction:rtl;\">כעת נרחיב את מערכת הבנק שלנו.<br>\n", |
| 108 | + " נניח כי לכל לקוח בבנק יש בחשבון הבנק 500 ש\"ח.<br>\n", |
| 109 | + " באמצעות הפוקנציות הקודמות שכתבנו נממש את התוכנית הבאה:<br>\n", |
| 110 | + "<ul style=\"text-align:right; direction:rtl;\">\n", |
| 111 | + " <li>נבקש מהמשתמש שם משתמש וסיסמה.</li>\n", |
| 112 | + " <li>נאמת את שם המשתמש והסיסמה מול מחולל הסיסמאות. אם האימות הצליח נדפיס: \n", |
| 113 | + " <samp> ?Login succeded. How much you'd like to draw </samp><br>\n", |
| 114 | + " אחרת נדפיס: <samp>Login failed.</samp></li>\n", |
| 115 | + " <li>כיון שלמשתמש יש 500 ש\"ח בחשבון, עלינו לוודא שהסכום לא גבוה מ-500 ש\"ח. אם הסכום אכן גבוה מ-500 ש\"ח נדפיס: \n", |
| 116 | + " <samp>.Cannot withdraw above balance</samp></li>\n", |
| 117 | + " <li>כמו כן, עלינו לוודא כי הסכום אינו שלילי או 0. במקרה זה נדפיס: \n", |
| 118 | + " <samp>.Invalid amount</samp></li>\n", |
| 119 | + " <li>אם הסכום חוקי, נדפיס: \n", |
| 120 | + " <samp>.(Please take your money (amount asked). Your balance is: (amount left in balance</samp></li>\n", |
| 121 | + "</ul>\n", |
| 122 | + "</p>" |
108 | 123 | ] |
109 | 124 | }, |
110 | 125 | { |
|
160 | 175 | " Insert username: <samp>stam</samp><br>\n", |
161 | 176 | " Insert password: <samp>stamSTAMXXXX</samp><br>\n", |
162 | 177 | " Login succeded. How much you'd like to draw? <samp>600</samp><br>\n", |
163 | | - " Cannot withrow above balance.\n", |
| 178 | + " Cannot withdraw above balance.\n", |
164 | 179 | "</p>" |
165 | 180 | ] |
166 | 181 | }, |
|
218 | 233 | "cell_type": "markdown", |
219 | 234 | "metadata": {}, |
220 | 235 | "source": [ |
221 | | - "<p style=\"text-align:right;direction:rtl;\"> ניזכר בכמה פעולות של מחרוזות:<br>לכל אחד מהתרגילים הבאים הריצו את הדוגמא וכתבו בעצמכם 3 דוגמאות נוספות. הסבירו לעצמכם מה עושה כל מתודה למחרוזת שהיא מקבלת.<br>\n", |
| 236 | + "<p style=\"text-align:right;direction:rtl;\"> ניזכר בכמה פעולות של מחרוזות:<br>לכל אחד מהתרגילים הבאים הריצו את הדוגמה וכתבו בעצמכם 3 דוגמאות נוספות. הסבירו לעצמכם מה עושה כל מתודה למחרוזת שהיא מקבלת.<br>\n", |
222 | 237 | "אם תרצו להיזכר מה עושה מתודה מסוימת תוכלו להריץ את המתודה באופן הבא:<br></p>\n", |
223 | 238 | "<code>str.method-name?</code>\n", |
224 | | - "<p style=\"text-align:right;direction:rtl;\"> לדוגמא:<br></p>\n", |
| 239 | + "<p style=\"text-align:right;direction:rtl;\"> לדוגמה:<br></p>\n", |
225 | 240 | "<code>str.split?</code><br>\n", |
226 | 241 | "<p style=\"text-align:right;direction:rtl;\"> הריצו את התא הבא לקבלת מידע על המתודה <em>split</em>:<br></p>\n" |
227 | 242 | ] |
|
712 | 727 | "source": [ |
713 | 728 | "<p style=\"text-align:right;direction:rtl;\">השעון שלנו בתרגיל זה הוא שעון 24 שעות בפורמט HH:MM.</p>\n", |
714 | 729 | "<br>\n", |
715 | | - "<p style=\"text-align:right;direction:rtl;\">תחילה, כתבו פונקציה המקבלת את השעה בפורמט HH:MM, ומקבלת את מספר השעות שיש להוסיף או להוריד מהשעה הנתונה, ומחזירה את השעה המעודכנת.</p>\n", |
716 | | - "<samp style=\"text-align:left;direction:ltr;\">time_shift(\"08:44\", 1)<br>\"09:44\"<br>time_shift(\"07:31\", -2)<br>\"05:31\"</samp><br>\n", |
| 730 | + "<p style=\"text-align:right;direction:rtl;\">תחילה, כתבו פונקציה המקבלת את השעה בפורמט HH:MM, ומקבלת את מספר השעות שיש להוסיף או להוריד מהשעה הנתונה, ומחזירה את השעה המעודכנת.</p><br>\n", |
| 731 | + "<code>time_shift(\"08:44\", 1)</code><br>\n", |
| 732 | + "<samp style=\"text-align:left;direction:ltr;\">\"09:44\"</samp><br>\n", |
| 733 | + "<code>time_shift(\"07:31\", -2)</code><br>\n", |
| 734 | + "<samp>\"05:31\"</samp>\n", |
717 | 735 | "<p style=\"text-align:right;direction:rtl;\">כמו כן עליכם לוודא שמוכנסת שעה חוקית, ולהדפיס שגיאה אם לא:</p><br>\n", |
718 | | - "<samp>time_shift(\"32:12\", 4)<br>\"Invalid time given\"</samp><br>\n", |
| 736 | + "<code>time_shift(\"32:12\", 4)</code><br>\n", |
| 737 | + "<samp>\"Invalid time given\"</samp>\n", |
719 | 738 | "<p style=\"text-align:right;direction:rtl;\">בנוסף, עליכם לתמוך במעברים בין יממות. כלומר עליכם לבצע נכון פעולות מסוג זה:</p><br>\n", |
720 | | - "<samp>time_shift(\"23:30\", 2)<br>\"01:30\"<br>time_shift(\"04:13\", -5)<br>\"23:13\"\n", |
721 | | - "</samp>" |
| 739 | + "<code>time_shift(\"23:30\", 2)</code><br>\n", |
| 740 | + "<samp>\"01:30\"</samp><br>\n", |
| 741 | + "<code>time_shift(\"04:13\", -5)</code><br>\n", |
| 742 | + "<samp>\"23:13\"</samp>" |
722 | 743 | ] |
723 | 744 | }, |
724 | 745 | { |
|
744 | 765 | "<p style=\"text-align:right;direction:rtl;\">פונקציות שימושיות:\n", |
745 | 766 | " <span style=\"direction: rtl; background: #000; text: #000\"><br><em>split</em> - מתודה של <em>string</em>.<br>\n", |
746 | 767 | " האופרטור % (מודולו) - חשבו עם איזה מספר צריך לעשות מודולו.<br>\n", |
747 | | - " <em>zfill</em> - השתמשו בה כדי למלא 0 חסר בשעה ובה ספרה אחת (לדוגמא 1:05 יהפוך ל-01:05) </span>\n", |
| 768 | + " <em>zfill</em> - השתמשו בה כדי למלא 0 חסר בשעה ובה ספרה אחת (לדוגמה 1:05 יהפוך ל-01:05) </span>\n", |
748 | 769 | " \n", |
749 | 770 | "<p style=\"text-align:right;direction:rtl;\">רמזים נוספים:<br>\n", |
750 | 771 | " <span style=\"direction: rtl; background: #000; text: #000\">מומלץ להמיר את השעה מ-<em>string</em> ל-<em>int</em> ואז לבצע את פעולות החשבון ולבסוף להמיר חזרה ל-<em>string</em>\n", |
|
757 | 778 | "source": [ |
758 | 779 | "<p style=\"text-align:right;direction:rtl;\"> כעת כתבו פונקציה המקבלת שני פרמטרים - שעה ואיזור זמן ובאמצעות הפונקציה מהתרגיל הקודם מחזירה את השעה באיזור הזמן המבוקש.\n", |
759 | 780 | "<br>\n", |
760 | | - " לדוגמא:\n", |
| 781 | + " לדוגמה:\n", |
761 | 782 | "</p>\n", |
762 | 783 | "<p style=\"text-align:left;direction:ltr;\">\n", |
763 | 784 | " <code>convert_to_timezone(\"10:34\", \"TLV\")</code>\n", |
|
0 commit comments