Control Flow
Ce vei face, dacă ai castiga un million dolari? Dar dacă zece lei? Introducem construcția if...else! Și multe alte!
La fel ca și în viața reală, uneori codul nostru trebuie să fie capabil să ia decizii.
Până acum, tot ce am scris împreună în Python putea să urmeze doar un singur fir logic: fie că am adunat două numere sau fie că am afișat ceva. Codul nostru, însă, nu putea lua decizii de sine-stătător în privința a ce instrucțiuni să execute în dependență de o careva condiție. Conceptul de Control Flow oferă posibilitate programului de a alege ce să facă.
Pentru a intra în esența conceptului de Control Flow, trebuie să definim câteva noțiuni importante.
Operatorii de comparație au un rol major in conceptul de Control Flow.
Operațiile Boolean
Operațiile boolean
compară careva afirmații, rezultatul acestei comparații fiind o valoare boolean
. Există trei operații de tip boolean
:
and
and
And verifică dacă ambele afirmații sunt True
.
De exemplu:
Eu voi cumpăra pâine dacă:
Voi avea bani .
ȘI (AND)
Dacă va fi pâine la magazin.
or
or
Or verifică dacă cel puțin o afirmație este True
.
De exemplu:
Eu voi fi fericit/fericită dacă:
Se termină pandemia.
SAU (OR)
2. Dacă mă vaccinez.
not
not
Not este opusul afirmației.
De exemplu:
Eu voi sta acasă dacă:
NU (NOT) se deschide școala.
În acest context, aflați că:
Să mergem mai departe.
Să zicem că avem următoarea expresie Python: 1 < 2 and 2 < 3
.
Rezultatul acestei expresii va fi True
sau False
? Pentru a răspunde la această întrebare, să apelăm la tabelul de mai sus.
1 < 2
este True
. 2 < 3
este la fel True
. True and True
ce va fi? Corect! True
!
Dar care vor fi rezultatele următoarelor expresii?
1 < 2 and 2 > 3
(False)
1 < 2 or 2 > 3
(True)
1 > 2 or 2 > 3
(False)
not False
(True)
not 41 > 40
(False)
Operațiile boolean
nu sunt pur și simplu evaluate de la stânga la dreapta. La fel ca operațiile aritmetice, operațiile boolean
au o ordine de execuție:
not
este evaluat primul;and
este evaluat al doilea;or
este evaluat ultimul.
De exemplu, True or not False and False
returnează True
. De ce?
not
este evaluat primul, astfel noi avem True or True and False
. Deoarece and
-ul e următorul evaluat, avem True or False
. Așa după cum am văzut mai sus, True or False
este True
, astfel valoarea finală este True
!
Sintaxa condiționalelor
Dacă tot am învățat mai devreme cum să comparăm datele între ele, acum putem să punem și condiții.
Condiția if
este considerată cea mai simplă dintre cele trei și ia o decizie în funcție dacă condiția e adevărată sau nu. Dacă condiția este adevărată, imprimă expresia indentată. Dacă condiția este falsă, omite imprimarea expresiei indentate.
Este foarte important să indentăm corect codul când folosim conditionalul if.
In caz contrar vom obține eroarea de mai jos.
Dar ce înseamnă indentare?
Indentarea se referă la spațiile de la începutul unei linii de cod.
În cazul în care în alte limbaje de programare indentarea în cod este doar pentru lizibilitate, indentarea în Python este foarte importantă.
Python folosește indentare pentru a indica un bloc de cod.
Pentru a deplasa o linie de cod spre dreapta la distanța cerută de Python, utilizăm tasta tab
Sa vedem care e structura condiționalului if
Când folosim else
?
Când avem doar 2 opțiuni.
De exemplu vrem să ne logăm pe pagina noastră de Facebook și trebuie să ne introducem numele. În spatele acestei funcționalități se află un if
care verifică dacă numele pe care l-am introdus se află în sistemul Facebook-ului sau nu.
Dar dacă avem mai mult de 2 opțiuni?
Atunci folosim elif
care e de fapt este else + if
.
Some day, someone will construct a list of 500 Great Programming Quotes, and this will be one of them.
Last updated