Lucrul cu steaguri în Python
Steag - este o variabilă specială,
care poate lua doar două valori:
True sau False. Cu ajutorul
steagurilor se pot rezolva probleme care verifică
absența a ceva: de exemplu, se poate
verifica dacă într-o listă nu există un element cu
o valoare specifică.
Să rezolvăm următoarea problemă: este dată o listă
cu numere, trebuie să verificăm dacă toate elementele
din ea sunt pozitive. Pentru aceasta
vom seta o variabilă specială flag,
care va fi adevărată înainte de începerea ciclului. Iar
la întâlnirea în ciclu a unui număr negativ,
îi vom schimba valoarea în False. Pentru
a afla rezultatul verificării,
vom afișa variabila flag după ciclu
în consolă:
lst = [1, 2, 3, 4, 5]
flag = True
for el in lst:
if el < 0:
flag = False
print(flag) # va afișa True, deoarece toate numerele sunt pozitive
O practică bună este denumirea
variabilei cu steag cu un nume care reflectă
condiția stabilită. Să redenumim flag
în isAllPositive. Și pentru claritate
vom schimba un număr din listă în negativ:
lst = [1, 2, 3, -4, 5]
isAllPositive = True
for el in lst:
if el < 0:
isAllPositive = False
print(isAllPositive) # va afișa False, deoarece există un număr negativ
Dacă în lista parcursă sunt multe valori
și este necesar să oprim ciclul după detectarea
primului număr negativ, atunci trebuie
aplicată instrucțiunea break:
for el in lst:
if el < 0:
isAllPositive = False
break
În lucrul cu steaguri, pentru a afla rezultatul
executării ciclului, se poate afișa nu valoarea
steagului, ci un mesaj arbitrar cu ajutorul
unui if suplimentar.
Să rescriem exemplul anterior. Dacă
toate elementele sunt pozitive, atunci să
se afișeze '+++', dacă nu -
'---':
for el in lst:
if el < 0:
isAllPositive = False
break
if isAllPositive:
print('+++')
else:
print('---') # va afișa '---'
Este dată o listă. Verificați dacă toate elementele sale sunt numere pozitive.
Este dat un număr întreg. Verificați dacă acesta este prim, adică se împarte doar la unu și la el însuși.