Rad sa zastavicama (flagovima) u Python-u
Zastavica (flag) - je specijalna promenljiva,
koja može imati samo dve vrednosti:
True ili False. Pomoću
zastavica mogu se rešavati zadaci koji proveravaju
odsustvo nečega: na primer, može se
proveriti da u listi nema elementa sa
određenom vrednošću.
Hajde da rešimo sledeći zadatak: data je lista
sa brojevima, potrebno je proveriti da li su svi elementi
u njoj pozitivni. Za ovo
postavimo specijalnu promenljivu flag,
koja će pre početka petlje biti tačna. A
prilikom nalaženja u petlji negativnog broja,
promenićemo joj vrednost na False. Da bismo
saznali rezultat provere,
ispisaćemo promenljivu flag nakon petlje
u konzolu:
lst = [1, 2, 3, 4, 5]
flag = True
for el in lst:
if el < 0:
flag = False
print(flag) # ispisaće True, pošto su svi brojevi pozitivni
Dobra praksa je dodeljivanje
promenljivoj sa zastavicom imena koje odražava
postavljeni uslov. Hajde da preimenujemo flag
u isAllPositive. I za preglednost
promenimo jedan broj iz liste u negativan:
lst = [1, 2, 3, -4, 5]
isAllPositive = True
for el in lst:
if el < 0:
isAllPositive = False
print(isAllPositive) # ispisaće False, pošto postoji negativan broj
Ako u listi koju pretražujemo ima mnogo vrednosti
i potrebno je zaustaviti petlju nakon otkrivanja
prvog negativnog broja, tada treba
primeniti instrukciju break:
for el in lst:
if el < 0:
isAllPositive = False
break
Prilikom rada sa zastavicama, da bismo saznali rezultat
izvršavanja petlje, možemo ispisati ne vrednost
zastavice, već proizvoljnu poruku pomoću
dodatnog if.
Hajde da prepišemo prethodni primer. Ako
su svi elementi pozitivni, onda neka se
ispise '+++', ako nisu -
'---':
for el in lst:
if el < 0:
isAllPositive = False
break
if isAllPositive:
print('+++')
else:
print('---') # ispisaće '---'
Data je lista. Proverite da li su svi njeni elementi pozitivni brojevi.
Dat je ceo broj. Proverite da li je prost, odnosno da li se deli samo sa jedinicom i sa samim sobom.