Lecții din modul (3/4)
Condiționale: if, elif, else
Condiționalele vă permit să rulați cod diferit pe baza
valoarea unei expresii booleene. În Python sunt scrise cu if, elif
(scurtătura pentru „altfel dacă”) și else.
Forma de bază
eta = 18
if eta >= 18:
messaggio = "maggiorenne"
else:
messaggio = "minorenne"Observa:
- după condiție există întotdeauna un colon
:; - blocul „în interiorul” if este identificat prin indentație (4 spații);
- nu aveți nevoie de paranteze în jurul condiției (deși sunt permise).
Mai multe filiale cu elif
voto = 7
if voto >= 9:
giudizio = "ottimo"
elif voto >= 7:
giudizio = "buono"
elif voto >= 6:
giudizio = "sufficiente"
else:
giudizio = "insufficiente"Ramurile elif sunt evaluate în ordinea în care le scrieți și se opresc la
primul care se dovedește a fi adevărat.
Expresie condiționată (ternară)
Pentru cazuri simple, puteți scrie totul pe o singură linie:
eta = 20
messaggio = "maggiorenne" if eta >= 18 else "minorenne"Se citește firesc în engleză: "maggiorenne if eta >= 18 else minorenne".
Valori „adevărat”/ „fals”.
O condiție nu trebuie să fie o comparație: orice valoare poate
fi folosit ca o condiție. Acestea sunt considerate false: False, None, 0,
"", [], {}. Orice altceva este adevărat.
nome = "Ada"
if nome:
saluto = f"Ciao {nome}!"
else:
saluto = "Ciao sconosciuto!"Expresii condiționate (operator ternar)
Python acceptă o construcție compactă if-else cu o singură linie, care acționează ca operator ternar găsit în alte limbi:
result = "Even" if n % 2 == 0 else "Odd"Acest lucru vă păstrează codul concis atunci când pur și simplu trebuie să atribuiți o valoare bazată pe o condiție.
Încercați-l singur
Având în vedere „număr = 15”, atribuiți „semnului” șirul „pozitiv” dacă numărul este > 0, „zero” dacă este 0, „negativo” în caz contrar. Evaluează `semn`.
Afișează indiciu
Trei ramuri: > 0, == 0, altfel.
Soluție disponibilă după 3 încercări
Exercițiu de revizuire
Având în vedere `varsta = 20`, atribuiți `categoriei` șirul 'maggiorenne' sau 'minorenne' folosind expresia ternară (dacă/altfel pe o singură linie).
Afișează indiciu
Sintaxă: value_if_true if condition else value_if_false
Soluție disponibilă după 3 încercări
Provocare suplimentară
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`.
Afișează indiciu
Utilizați if x > 0:, elif x < 0: și else: pentru a gestiona cele trei cazuri.
Soluție disponibilă după 3 încercări