משתנה הוא שם שמצביע על ערך. בפייתון לכל ערך יש גם טיפוס: מספר שלם, מספר עשרוני, טקסט, או אמת ושקר. כאן יוצרים משתנים, משנים אותם ועוקבים אחריהם שורה אחרי שורה. כדאי להיזכר קודם במשתנים כקופסאות עם שם ובקלט ופלט. אחר כך ממשיכים לתנאים בפייתון.
השורה coins = 50 היא השמה: שמים את 50 במשתנה בשם coins. מצד ימין של ה-= מחשבים ערך, ומצד שמאל כותבים את השם. השמה חדשה מחליפה את הערך הישן.
int הוא מספר שלם, כמו 7 או -3. float הוא מספר עם נקודה, כמו 12.5. גם 10.0 הוא float. חילוק ב-/ תמיד נותן float.
str הוא מחרוזת, כלומר טקסט בתוך מרכאות: "Sword". גם "50" הוא טקסט, לא מספר. + בין מחרוזות מדביק אותן.
bool הוא אחד משני ערכים: True או False. השוואה כמו coins >= 20 נותנת bool. בעזרתו התוכנית מחליטה.
print(type(50)) # <class 'int'>
print(type(12.5)) # <class 'float'>
print(type("Sword")) # <class 'str'>
print(type(3 > 2)) # <class 'bool'>
type() אומר מה הטיפוס. int(), float() ו-str() ממירים מטיפוס לטיפוס. ו-input() תמיד מחזיר str, גם כשמקלידים מספר.לשחקן יש מטבעות, והוא רוצה לקנות חרבות. הזיזו את המחוונים: כמה מטבעות יש, כמה עולה חרב וכמה חרבות קונים. הקוד משתנה לבד. לחצו "שורה הבאה" וראו איך טבלת המשתנים מתמלאת, ואיזה טיפוס יש לכל ערך.
נסו את אלה:
אפשר לשנות את הקוד ולהריץ פייתון אמיתי. בפעם הראשונה הטעינה לוקחת כמה שניות.
מקלידים 12, אבל input() מחזיר את הטקסט "12". אי אפשר לחבר לטקסט מספר. ממירים קודם עם int.
age = input()
print(age + 1)
✓ נכוןage = int(input())
print(age + 1)
בין מחרוזות, + מדביק. לכן יוצא 53. אין שגיאה, וזה מה שמבלבל.
print("5" + "3")
✓ יוצא 8print(5 + 3)
אי אפשר להדביק מספר לטקסט עם +. הופכים את המספר לטקסט עם str, או מפרידים בפסיק.
print("Score: " + 10)
✓ נכוןprint("Score: " + str(10))
print("Score:", 10)
= שם ערך במשתנה. == רק שואל אם שני ערכים שווים, ונותן True או False. הוא לא משנה כלום.
score == 10
✓ עכשיו score הוא 10score = 10
בלי רווחים, בלי להתחיל בספרה. אות גדולה וקטנה הן שונות: Score ו-score הם שני משתנים.
my score = 5
2nd = 4
✓ נכוןmy_score = 5
second = 4
מקלידים 21. מה התוכנית תדפיס? נחשו לפני כל שורה, ושימו לב להבדל בין text, שהוא str, לבין number, שהוא int.
int הוא מספר שלם, כמו 7. float הוא מספר עם נקודה עשרונית, כמו 7.5 או 7.0. חילוק עם / תמיד נותן float, וחילוק עם // נותן מספר שלם. נסו במעבדה.
כי פייתון לא יודע מה תקלידו: אולי מילה, אולי מספר. לכן הוא תמיד מחזיר str. אם צריך מספר, כותבים int(input()) או float(input()).
שם שמספר מה יש בפנים: coins עדיף על x. משתמשים באותיות באנגלית, בספרות ובקו תחתון, בלי רווחים, ולא מתחילים בספרה. תרגלו למטה.