דילוג לתוכן המרכזי
מודול 1 · שיעור 3 מתוך 43/36 בקורס~10 min
שיעורי מודול (3/4)

תנאים: אם, elif, else

תנאים מאפשרים לך להפעיל קוד שונה על סמך ה הערך של ביטוי בוליאני. ב-Python הם נכתבים עם if, elif (קיצור של "אחר אם") ו-else.

הצורה הבסיסית

Python
eta = 18
if eta >= 18:
    messaggio = "maggiorenne"
else:
    messaggio = "minorenne"

הוֹדָעָה:

  • אחרי התנאי תמיד יש נקודתיים ​​:;
  • הבלוק "בתוך" ה-if מזוהה באמצעות הזחה (4 רווחים);
  • אין צורך בסוגריים מסביב לתנאי (למרות שהם מותרים).

סניפים נוספים עם elif

Python
voto = 7
if voto >= 9:
    giudizio = "ottimo"
elif voto >= 7:
    giudizio = "buono"
elif voto >= 6:
    giudizio = "sufficiente"
else:
    giudizio = "insufficiente"

הסניפים elif מוערכים לפי סדר כתיבתם והם נעצרים בשעה הראשון שמתגלה כנכון.

ביטוי מותנה (שלישי)

למקרים פשוטים אתה יכול לכתוב הכל בשורה אחת:

Python
eta = 20
messaggio = "maggiorenne" if eta >= 18 else "minorenne"

זה קורא באופן טבעי באנגלית: "maggiorenne if eta >= 18 else minorenne".

ערכי "אמת" / "שקריים".

תנאי לא חייב להיות השוואה: כל ערך יכול לשמש כתנאי. אלה נחשבים לא נכון: False, None, 0, "", [], {}. כל השאר נכון.

Python
nome = "Ada"
if nome:
    saluto = f"Ciao {nome}!"
else:
    saluto = "Ciao sconosciuto!"

ביטויים מותנים (אופרטור טריני)

Python תומך במבנה קומפקטי של שורה אחת if-else, הפועל כאופרטור הטרינרי שנמצא בשפות אחרות:

Python
result = "Even" if n % 2 == 0 else "Odd"

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

נסה זאת בעצמך

פעילות גופנית#python.m1.l3.e1
ניסיונות: 0טוען...

בהינתן 'מספר = 15', הקצה ל'סימן' את המחרוזת 'positivo' אם המספר הוא > 0, 'אפס' אם הוא 0, 'שלילי' אחרת. הערך 'סימן'.

טוען עורך...
הצג רמז

שלושה ענפים: > 0, == 0, אחר.

הפתרון זמין לאחר 3 ניסיונות

סקירת התרגיל

פעילות גופנית#python.m1.l3.e2
ניסיונות: 0טוען...

בהינתן 'גיל = 20', הקצה ל'קטגוריה' את המחרוזת 'maggiorenne' או 'minorenne' באמצעות הביטוי הטרינרי (אם/אחר בשורה אחת).

טוען עורך...
הצג רמז

תחביר: value_if_true if condition else value_if_false

הפתרון זמין לאחר 3 ניסיונות

אתגר נוסף

פעילות גופנית#python.m1.l3.e3
ניסיונות: 0טוען...

Write a conditional structure that checks if the variable `x` (initialized to `-5`) is greater than 0, less than 0, or equal to 0. Assign the string `'positive'`, `'negative'`, or `'zero'` to `sign` accordingly. Finally, evaluate `sign`.

טוען עורך...
הצג רמז

השתמש באם x > 0:, elif x < 0:, ועוד: כדי לטפל בשלושת המקרים.

הפתרון זמין לאחר 3 ניסיונות