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 הפנימי פועל רק כשהבלוק שמכיל אותו פועל: זה שבבלוק else פועל כשהתנאי age >= 18 הוא שקר, וזה שבבלוק if פועל כשהתנאי age >= 18 הוא אמת. הצבת פקודת if בתוך בלוק else (או בתוך בלוק if) תקינה לחלוטין. זה בדיוק מה שהופך אותה ל״מקוננת״.
אתגר
מתחיליםכתבו תוכנית שקובעת אם אדם זכאי לצפות בסרט על סמך גילו והנחיית הורים.
הערה: age ו־with_parent כבר מוגדרים עבורכם, עם ערכים שונים בכל מקרה בדיקה. אל תגדירו אותם בעצמכם, אלא פשוט השתמשו בהם.
המשימה שלכם:
השתמשו במשפטי 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".
נסו בעצמכם
# כתבו כאן את קוד ה-if-else המקונן שלכם
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
תרגלו בעצמכם: קומפיילר Python אונליין