Menu
Coddy logo textTech

If - Else מקונן

חלק מהיחידה יסודות במסלול ה-Python של Coddy. שיעור 23 מתוך 77.

הוראות if-else מקוננות מאפשרות לך לבדוק כמה תנאים על ידי הצבת הוראת if-else אחת בתוך אחרת. אפשר לקנן בלוק if בתוך בלוק else. זהו דפוס נפוץ ותקין ב-Python.

צרו משפט if-else בסיסי:

age = 18
title = "None"
if age >= 18:
    title = "Adult"
else:
    title = "Minor"

עכשיו נוסיף תנאי מקונן בתוך בלוק else:

age = 18
title = "None"
allowed_to_drink = False
if age >= 18:
    title = "Adult"
else:
    title = "Minor"
    if age >= 13:
        title = "Teenager"
    else:
        title = "Child"

אפשר גם לקנן תנאי בתוך בלוק if:

age = 25
title = "None"
allowed_to_drink = False
if age >= 18:
    title = "Adult"
    if age >= 21:
        allowed_to_drink = True
    else:
        allowed_to_drink = False
else:
    title = "Minor"

בשתי הדוגמאות, התנאי הפנימי של if-else מתבצע רק כאשר התנאי החיצוני שמכיל אותו מתקיים. הצבת משפט if בתוך בלוק else (או בתוך בלוק if) היא תקינה לחלוטין. זה בדיוק מה שהופך אותו ל״מקונן״.

challenge icon

אתגר

מתחילים

כתבו תוכנית שקובעת זכאות לצפייה בסרט על סמך גיל והשגחת הורים.

קוד נתון (אין לשנות):

  1. מוגדר משתנה age ומוקצה לו ערך מהקלט
  2. מוגדר משתנה with_parent ומוקצה לו ערך בוליאני. ערכו True אם הקלט הוא "true", או False אם הקלט הוא "false"
  3. מוגדר משתנה message עם הערך "None"

המשימה שלכם:
השתמשו במשפטי if-else מקוננים כדי להגדיר את המשתנה message לאחת מהמחרוזות הבאות:

  1. אם הגיל הוא 18 ומעלה, הגדירו את message לערך "You can watch any movie".
  2. אם הגיל קטן מ-18:
    1. אם הערך של with_parent הוא True, הגדירו את message לערך "You can watch PG-13 movies".
    2. אם הערך של with_parent הוא False, הגדירו את message לערך "You can only watch G-rated movies".

חשוב: מכיוון ש-with_parent הוא כבר ערך בוליאני, בדקו אותו ישירות (למשל, if with_parent:): אל תשוו אותו למחרוזת כמו "true" או "True".

חשוב: המחרוזות חייבות להיות זהות לחלוטין, כולל אותיות גדולות וסימני פיסוק. לדוגמה, השתמשו ב-"PG-13 movies" (עם 'm' קטנה), ולא ב-"PG-13 Movies".

נסו בעצמכם

# קבלו את הגיל כמספר שלם
age = int(input())

# קבלו את נוכחות ההורה כערך בוליאני (True/False)
with_parent = input() == "true"

# הכריזו על משתנה בשם message עם הערך "None"
message = "None"

# כתבו כאן את קוד ה-if-else המקונן שלכם


# אל תשנו דבר מתחת לשורה זו
print(message)
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר Python אונליין