בואו נחשב את נפח הפיצה שלנו לפי אורך המשולש ועוביו.
הנוסחה לחישוב נפח פיצה היא:
$pi \times z \times z \times a$,
כאשר $z$ הוא אורך המשולש ו־$a$ הוא עובי המשולש.
pi, או $\pi$, הוא מספר קבוע שנקרא בעברית פאי, וערכו קרוב ל־3.141592653589793. בפועל יש לו אין־סוף ספרות אחרי הנקודה העשרונית, אבל אנחנו נסתפק באלו.
נניח שאורכו של המשולש הוא 5 מטרים, ועוביו הוא 2 מטרים (זו למעשה עוגת פיצה. אנחנו אוהבים!)
נחשב:
In [ ]:
print(3.14159265358 * 5 * 5 * 2)
אך אבוי!
מתכנת אחר שיקרא את הקוד שלכם, עלול להתבלבל מכמות המספרים הלא מובנים בעליל שכתובים שם, וקרוב לוודאי שהוא לא יבין מה הם אומרים.
יותר מזה, אם תרצו לחשב את גודלן של פיצות רבות נוספות, תצטרכו לכתוב את פאי המסורבל (סליחה פאי) פעמים רבות בקוד.
למזלנו, בפייתון יש דרך לתת לערכים שם, ממש כמו תווית שכזו. ערכים עם שם נקראים משתנים, ויש להם יתרונות רבים נוספים שנגלה בהמשך.
כעת נדגים כיצד אנחנו נותנים לערך "פאי" שם, ואיך מייד לאחר מכן אנחנו משתמשים בו.
In [ ]:
pi = 3.14159265358
print(pi * 5 * 5 * 2)
תחילה נשים לב לכך שאף שהשתמשנו בסימן =
, השורה הראשונה היא לא שוויון מהסוג שאנחנו רגילים אליו.
משמעות הסימן בתכנות שונה לחלוטין, והעיקרון שאותו הוא מממש נקרא השמה.
בהשמה אנחנו שמים את הערך שנמצא בצד ימין של השווה, בתוך משתנה ששמו נכתב בצד שמאל של השווה.
אחרי שביצענו את הפעולה הזו, בכל פעם שנכתוב את שמו של המשתנה, פייתון תבין את מה שכתוב שם כאילו רשמנו את הערך שנמצא בתוכו.
ניצור משתנים גם עבור שאר הערכים:
In [ ]:
pi = 3.14159265358
z = 5
a = 2
print(pi * z * z * a)
או אם בא לנו להיות אפילו מובנים יותר, ניתן למשתנים שמות ברורים:
In [ ]:
pi = 3.14159265358
length = 5 # אורך
thickness = 2 # עובי
pizza_volume = pi * length * length * thickness # נפח הפיצה
print(pizza_volume)
אם נרצה לתאר את הקוד שלנו במילים, נוכל להגיד שיצרנו שלושה משתנים שאליהם השמנו את הנתונים הדרושים לנו לחישוב נפח הפיצה.
בסוף, חישבנו את נפח הפיצה, ואת התוצאה השמנו למשתנה נוסף בשם pizza_volume.
את הערך הנמצא במשתנה הזה הדפסנו למסך.
=
כשרוצים לבצע השמה.
אפשר לדמיין משתנים כמצביע לייזר קטן.
כשאתם מבצעים השמה, אתם מבקשים מפייתון ליצור לייזר בשם שבחרתם, ולהצביע בעזרתו על ערך מסוים.
נניח, במקרה שבו pi = 3.14
, אנחנו מבקשים מפייתון ליצור לייזר בשם pi שיצביע על הערך 3.14.
בכל פעם שתציינו בהמשך הקוד את שם הלייזר, פייתון תבדוק להיכן הוא מצביע, ותיקח את הערך שנמצא שם.
אם כך, לצורך האנלוגיה הזו, הלייזר הוא שם המשתנה, שמצביע על ערך המשתנה.
0–9
), אותיות לטיניות גדולות (A-Z
) או קטנות (a-z
) וקו תחתון (_
).המוסכמה הראשונה נכונה ברוב המקרים, אך לא בכולם. בעתיד ניכנס לעובי הקורה בכל הנוגע לכתיבת קוד בהתאם למוסכמות בעולם התכנות.
עבור כל אחד משמות המשתנים שלפניכם, רשמו במחברת או בהערה האם שם המשתנה עומד בחוקים ובמוסכמות.
אחרי שרשמתם בצד, תקנו את שמות המשתנים הבעיתיים, וודאו שהרצת התא לא תגרום לשגיאה.
In [ ]:
a = 5
MyBirthday = '12/07/1995'
mybirthday = '12/07/1995'
pizza_radius = 5.3
pizza = 3
pizza radius = 2.7
pizza's_price = 2
5_pizza_price = 30
my_name = "Yam Mesicka"
your_name = '4Tomer Gavish'
בתחילת המחברת ביצענו כמה השמות למשתנים. לעיתים קרובות, נרצה לערוך את התוכן של המשתנה.
בואו נראה דוגמה:
In [ ]:
my_age = 24
my_age = my_age + 1
print(my_age)
מה קרה כאן?
בשורה 1 עשינו השמה פשוטה, כפי שלמדנו קודם. עד כאן הכול מוכר.
בשורה 2 הרעיון זהה. כל מה שאתם צריכים לזכור הוא שפייתון תחשב קודם את צד ימין (הערך) ורק אז תכניס אותו לתוך צד שמאל (שם המשתנה).
בואו נעקוב אחרי דרך המחשבה של פייתון כשהיא קוראת את השורה השנייה:
my_age
.1 + 24
.my_age
.
קניתי 5 ארגזים גדולים של קרמבו. בארגז יש 10 יחידות קרמבו בכל שורה, ו־4 יחידות קרמבו בכל עמודה.
נסו לשים כל אחד מהנתונים שמצאתם בשאלה במשתנה, ולהדפיס כמה קרמבו יש לי.
In [ ]:
אורך הבריכה הפרטית שהייתי מת שתהיה לי הוא 50 מטר, ורוחבה 25 מטר.
כדי להיתקע בכמה שיותר אנשים בדרך, אני מתכנן לשחות באלכסון, מהפינה האחת של הבריכה לפינה הנגדית לה.
אני נמצא בפינה שממנה אני מתכנן לצאת. תוכלו לעזור לי להבין מה המרחק שאצטרך לשחות כדי להגיע לפינה הנגדית?
נסו לעשות שימוש ב־3 משתנים כדי לפתור את השאלה.
טיפ: סיפרו לי שנוסחת אלכסון היא $(l^2 + w^2)^{0.5}$, כאשר
${l}$
מציין את אורך הבריכה ו־
${w}$
את רוחבה.
In [ ]:
לאחר שיפוץ של הבריכה הפרטית שהייתי מת שתהיה לי, אורכה גדל פי 2.
כחלק מהשיפוצים גם הוסיפו לבריכה מסלולים, כך שהרוחב שלה גדל בגודל השווה לאורך החדש של הבריכה.
הדפיסו את הגודל החדש של הבריכה. אל תשנו את הקוד למעלה; פשוט המשיכו אותו בתא הבא, והשתמשו בהשמה כדי להתאים את המשתנים למציאות החדשה.
ניתן להתייחס גם למשתנים שהוגדרו בתאים אחרים במחברת.
לדוגמה, אם הרצנו תא שבו הוגדר משתנה בשם w, מאותו רגע כל תא אחר במחברת יוכל להשתמש במשתנה w.
ערכו של משתנה מסויים בזמן נתון הוא הערך שהוגדר עבורו בתא האחרון שהורץ במחברת.
In [ ]:
לדוגמה: אם השם שלי הוא David והברכה שהוכנסה היא You are cool, המשפט שיצא הוא David You are cool.