diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..58461f2 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.ipynb_checkpoints \ No newline at end of file diff --git a/week1/1_Strings_and_Output.ipynb b/week1/1_Strings_and_Output.ipynb new file mode 100644 index 0000000..b0cdb8f --- /dev/null +++ b/week1/1_Strings_and_Output.ipynb @@ -0,0 +1,333 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#

ברוכים הבאים למחברת הפייתון הראשונה שלכם!

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

על־מנת להריץ את התוכן של תא מסוים, לחצו עליו כך שתופיע מסביבו מסגרת, והקישו על המקשים CTRL + ENTER במקלדת יחד.
\n", + "לאחר שתעשו זאת, פייתון יעבד את הביטוי המופיע במשבצת ויציג לכם תשובה בהתאם.
\n", + "נסו את זה על המשבצת הבאה!

" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Hello World\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

אפשר לזהות תא שמיועד להרצה בקלות, באמצעות צבע הרקע האפור שלו.

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

\ \n", + "תוכלו להמנע משימוש בעכבר ולעבוד מהר יותר רק עם המקלדת. עברו בין התאים בעזרת המקשים או במקלדת שלכם.\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##

הדפסה

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

\n", + "אבל רגע, יגידו הסקרנים ביניכם.\n", + "מה הרצתי שם למעלה?.
\n", + "\n", + "בגדול, כמו שבוודאי ניחשת, הקוד שהרצת מדפיס \"שלום עולם\". הוא מורכב משני חלקים יחסית פשוטים: *מחרוזת* ו*פקודת הדפסה*.\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###

print

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

\n", + "אחד מהדברים השימושיים ביותר שנעשה בשבועות הקרובים, זה להדפיס דברים למסך.
\n", + "כדי לעשות את זה, כל מה שנצטרך לעשות זה לכתוב `print`, לפתוח סוגריים, לכתוב *ביטוי חוקי כלשהו* ולסגור את הסוגריים.
\n", + "בואו נסתכל על כמה דוגמאות:\n", + "

" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1\n" + ] + } + ], + "source": [ + "print(1)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hello\n" + ] + } + ], + "source": [ + "print(\"Hello\")" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hello World\n" + ] + } + ], + "source": [ + "print(\"Hello World\")" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "6\n" + ] + } + ], + "source": [ + "print(1 + 5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " \ \n", + "
\n", + "
\n", + "

\n", + " נהוג לרשום את הסוגריים בסמוך למילה `print`. אם תשכחו סוגריים, או תפתחו סוגריים ותשכחו לסגור אותם, פייתון יתבכיין. זה לא באמת מפחיד אותנו, אבל כדאי לזכור שזו אחת הסיבות שאתם עלולים להתקל בהודעות שגיאה.\n", + "

\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###

מחרוזת

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

\n", + "למרות השם הרשמי, מחרוזת היא בסך הכל רצף של תווים. מחרוזת יכולה להיות \"שלום עולם\", התוכן של הספר \"הארי פוטר\" ואפילו האות \"ש\" לבדה.
\n", + "במקרה שלנו, המחרוזת היא `\"Hello World\"`.
\n", + "כדי שפייתון יזהה שמדובר במחרוזת, אנחנו נהיה חייבים להקיף את המחרוזת בגרש (צ'וקו) או גרשיים (צ'וקיים). פייתון זורם ולא באמת אכפת לו במה תשתמשו, כל עוד תתחילו ותסיימו את המחרוזת שלכם עם אותו סימן.
\n", + "בואו נסתכל על כמה דוגמאות:\n", + "

" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Hello World\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print('Hello World') # גם צ'וקו עובד!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print('Why were you lurking under our window?\" \"Yes - yes, good point, Petunia! What were you doing under our windows, boy?\" \"Listening to the news,\" said Harry in a resigned voice. His aunt and uncle exchanged looks of outrage. \"Listening to the news! Again?\" \"Well, it changes every day, you see,\" said Harry.')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"x\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " \ \n", + "
\n", + "
\n", + "

\n", + " טעות נפוצה בקרב אנשים שמצטרפים לעולם התכנות, היא לשכוח את הגרש או את הגרשיים בסיום ו/או בתחילת המחרוזת. אם תשכחו אותם, פייתון עלול להתבכיין. זה לא באמת מפחיד אותנו, אבל כדאי לזכור שזו אחת הסיבות שאתם עלולים להתקל בהודעות שגיאה.\n", + "

\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(Hello World) # דוגמה להדפסה בלי גרשיים שנכשלת וגורמת לפייתון לבכות" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###

תרגול: מה מחרוזת ומה לא?

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

\n", + "לפניכם כמה ביטויים בפייתון. מה לדעתכם מחרוזת תקינה, ומה לא?
\n", + "זהירות! שמנו שם כמה מוקשים ;)\n", + "

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###

תרגול: שרה שרה שיר שמח

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

\n", + "הדפיסו את הפזמון מהשיר האהוב עליכם!
\n", + "על מנת לעשות את זה, לחצו על השטח האפור בתא מלמטה. כתבו שם את הקוד שלכם, ולחצו CTRL יחד עם ENTER.\n", + "

" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [conda root]", + "language": "python", + "name": "conda-root-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/week1/2_Arithmetics.ipynb b/week1/2_Arithmetics.ipynb new file mode 100644 index 0000000..de240bd --- /dev/null +++ b/week1/2_Arithmetics.ipynb @@ -0,0 +1,272 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##

אריתמטיקה

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

לא לפחד מהמונח המזעזע, מדובר פשוט בפעולות חשבון בסיסיות. בואו נראה מה פייתון יודע לעשות.
חשבו מה הולכת להיות התוצאה בכל אחד מהתאים הבאים. לאחר שחשבתם (והמהדרין יכתבו על פתק את מה שחשבו), הריצו את התאים ובדקו אם צדקתם.

" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(5 + 1)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(5 - 1)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(1 - 5) # פייתון מכיר בשליליים" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(5 - 1 / 2) # סדר פעולות חשבון?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(5.5 - 1.3)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(1.2 + 3)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(2 * 5)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(5 * 2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(5 - 2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(3 ** 2) # כדאי לזכור שכפול פעמיים מסמל חזקה" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(2 ** 3)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(5 // 2) # חילוק שלמים" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(5 % 2) # השארית מחלוקת השלמים" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(5 * (6 / (2 * 5))) # אפשר גם סוגריים, אם צריך" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##

חלוקת שלמים ושארית

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###
חלוקה
\n", + "

כאשר אנחנו עושים חלוקת שלמים מהצורה `A // B`, אנחנו למעשה מתכוונים לשאול:

\n", + "\n", + "

אם יש לי A תפוזים, כמה מהם אצליח לשים ב־B סלים, בהנחה שאני חייב שבכל סל יהיה אותו מספר תפוזים בדיוק.

\n", + "\n", + "

ניקח דוגמה: אם אנחנו רואים את הביטוי `4 // 9`, נדע שיש לנו 9 תפוזים ו־4 סלים.
אם נפצל את התפוזים על פני הסלים, נגלה שבכל סל יהיו 2 תפוזים, ותפוז אחד (שלא ניתן לחלק) ישאר בחוץ.

" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(9 // 4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###
שארית
\n", + "

לתפוזים שלא הצלחנו לחלק לסלים אנחנו קוראים \"שארית\", וזה מה שיוצא לנו כשאנחנו כותבים את הסימן `%` במקום `//`.
לדוגמה, אם היינו כותבים `4 % 9`, היינו מקבלים `1`, הרי הוא התפוז שנשאר מהשורה למעלה.

" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(9 % 4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + " \ \n", + "
\n", + "
\n", + "

\n", + " עבור מספרים חיוביים, תוכלו להמיר את החלוקה ה\"רגילה\" מהצורה\n", + " ($\\large{\\frac{9}{4}}$)\n", + " לשבר מעורב מהצורה\n", + " \n", + " ($\\large{2\\frac{1}{4}}$)\n", + " \n", + " .\n", + " המספר השלם שיצא (2ドル$) הוא תוצאת חילוק השלמים, בעוד שהמספר במונה (1ドル$) הוא השארית.\n", + "

\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##

תרגול: תה אמריקה

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

\n", + "חובבי תה רציניים ידעו להגיד לכם, שחליטת התה שלכם צריכה להעשות בטמפרטורה מאוד מסוימת, שתלויה בסוג התה שקניתם.
\n", + "כפלצן תה גדול, אני מזמין לעתים קרובות תה ממחוזות מוזרים בהם מציגים את הטמפרטורה בה צריך לחלוט את התה בפרנהייט במקום בצלזיוס.
\n", + "לאחרונה קיבלתי תה יסמין שהיה צריך לחלוט ב־176 מעלות פרנהייט.
\n", + "הדלקתי קומקום, והתחלתי למדוד את הטמפרטורה של המים. עזרו לי, והדפיסו לכמה מעלות **צלזיוס** אני צריך לחכות שהמים יגיעו.

\n", + "

\n", + "הנוסחה להמרה מפרנהייט לצלזיוס היא `(5 חלקי 9) כפול (מעלות בפרנהייט פחות 32)`.
\n", + "או, אם אתם מעדיפים כתיב מתמטי: $\\large{C = \\frac{5}{9}\\times(F - 32)}$
\n", + "לדוגמה, אם הייתי צריך לחלוט את התה שלי ב־212 מעלות צלזיוס, הייתי מצפה שתציגו לי 100, מכיוון ש: $\\large{C = \\frac{5}{9}\\times(212 - 32)} = 100$\n", + "

" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# הקלידו את הקוד שלכם כאן!" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [conda root]", + "language": "python", + "name": "conda-root-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/week1/3_Types.ipynb b/week1/3_Types.ipynb new file mode 100644 index 0000000..b997a31 --- /dev/null +++ b/week1/3_Types.ipynb @@ -0,0 +1,41 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [conda root]", + "language": "python", + "name": "conda-root-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/week1/images/logo.png b/week1/images/logo.png new file mode 100644 index 0000000..0f1d548 Binary files /dev/null and b/week1/images/logo.png differ diff --git a/week1/images/tip.png b/week1/images/tip.png new file mode 100644 index 0000000..a563b03 Binary files /dev/null and b/week1/images/tip.png differ diff --git a/week1/images/warning.svg b/week1/images/warning.svg new file mode 100644 index 0000000..5750b9a --- /dev/null +++ b/week1/images/warning.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + +

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