תוכנית טובה מחליטה לבד: אם הציון גבוה, מדפיסים "מצוין". אם לא, בודקים את התנאי הבא. כאן כותבים if, elif ו-else, משווים ערכים ורואים איזה ענף רץ. כדאי להיזכר קודם בחידות אם אז ובמשתנים וטיפוסים. אחר כך ממשיכים ללולאות בפייתון.
תנאי הוא שאלה שהתשובה שלה True או False. שואלים בעזרת סימני השוואה:
אם התנאי True, השורות המוזחות מתחתיו רצות. אם False, מדלגים עליהן. אחרי התנאי באות נקודתיים, והשורות שבפנים זזות 4 רווחים.
if lives == 0:
print("Game over")
elif הוא "ואם לא, אז אולי". בודקים לפי הסדר, ורק הענף הראשון שמתקיים רץ. else רץ כשאף תנאי לא התקיים.
if temp >= 30:
print("Hot")
elif temp >= 18:
print("Nice")
else:
print("Cold")
and: שני התנאים חייבים להיות True. or: מספיק שאחד מהם True. כך מחברים שתי שאלות לתנאי אחד.
if age >= 12 and height >= 140:
print("You can ride")
if day == "Fri" or day == "Sat":
print("Weekend")
התוכנית מחשבת ציון סופי: ציון במבחן ועוד בונוס, אבל לא יותר מ-100. אחר כך היא בוחרת מילה לפי הציון. הזיזו את המחוונים, נחשו איזה ענף ירוץ, ולחצו "שורה הבאה" כדי לבדוק. שורות שמדלגים עליהן לא נצבעות.
נסו את אלה:
אפשר לשנות את הקוד ולהריץ פייתון אמיתי. בפעם הראשונה הטעינה לוקחת כמה שניות.
בתנאי שואלים, לא שמים ערך. לכן כותבים ==. עם = אחד פייתון עוצר עם שגיאה.
if score = 100:
print("Perfect")
✓ נכוןif score == 100:
print("Perfect")
אחרי כל תנאי באות נקודתיים. השורות שבתוך התנאי חייבות לזוז פנימה. בלי זה פייתון לא יודע מה שייך לתנאי.
✗ שגיאהif lives > 0
print("Keep going")
✓ נכוןif lives > 0:
print("Keep going")
בודקים מלמעלה למטה. אם התנאי הכי רחב בא ראשון, הוא תופס הכל, והענפים שאחריו אף פעם לא ירוצו.
✗ 95 מקבל Passif total >= 55:
grade = "Pass"
elif total >= 90:
grade = "Excellent"
✓ מהגבוה לנמוךif total >= 90:
grade = "Excellent"
elif total >= 55:
grade = "Pass"
בעברית אומרים "גדול מ-5 וקטן מ-10". בפייתון כל צד של and הוא תנאי שלם, ולכן כותבים את המשתנה פעמיים.
✗ שגיאהif x > 5 and < 10:
✓ נכוןif x > 5 and x < 10:
"עובר מ-55" כולל את 55? אם כן, צריך >=. עם > הציון 55 בדיוק לא עובר. בדקו תמיד את המספר שעל הגבול.
if total > 55:
✓ 55 עוברif total >= 55:
תוכנית מזג אוויר: מקלידים טמפרטורה, והיא נותנת עצה. הקלט כאן: 24. עקבו אחרי השורה הצבועה: על אילו שורות מדלגים?
elif נבדק רק אם כל התנאים שלפניו היו False, ולכן בשרשרת רץ ענף אחד בלבד. כמה if נפרדים נבדקים כל אחד לבד, ואז יכולים לרוץ כמה מהם. נסו במעבדה.
לא. else הוא רשות. בלעדיו, אם אף תנאי לא התקיים, פשוט לא קורה כלום וממשיכים לשורה שאחרי התנאי. כותבים else כשרוצים לטפל גם ב"כל השאר".
עם and התנאי True רק אם שני החלקים True. עם or מספיק שאחד מהם True. "יש כרטיס and יש מקום" מחמיר יותר מ"יש כרטיס or יש מקום". תרגלו למטה.