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) היא תקינה לחלוטין. זה בדיוק מה שהופך אותו ל״מקונן״.
אתגר
מתחיליםכתבו תוכנית שקובעת זכאות לצפייה בסרט על סמך גיל והשגחת הורים.
קוד נתון (אין לשנות):
- מוגדר משתנה
ageומוקצה לו ערך מהקלט - מוגדר משתנה
with_parentומוקצה לו ערך בוליאני. ערכוTrueאם הקלט הוא"true", אוFalseאם הקלט הוא"false" - מוגדר משתנה
messageעם הערך"None"
המשימה שלכם:
השתמשו במשפטי if-else מקוננים כדי להגדיר את המשתנה message לאחת מהמחרוזות הבאות:
- אם הגיל הוא 18 ומעלה, הגדירו את
messageלערך"You can watch any movie". - אם הגיל קטן מ-18:
- אם הערך של
with_parentהואTrue, הגדירו אתmessageלערך"You can watch PG-13 movies". - אם הערך של
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)השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
תרגלו בעצמכם: קומפיילר Python אונליין