Рад са заставама у Пајтону
Застава - то је специјална променљива,
која може да има само две вредности:
True или False. Помоћу
застава се могу решавати задаци који проверавају
одсуство нечега: на пример, може се
проверити да у листи нема елемента са
одређеном вредношћу.
Хајде да решимо следећи задатак: дата је листа
са бројевима, потребно је проверити, да ли су сви елементи
у њој позитивни. За ово
поставимо специјалну променљиву flag,
која ће пре почетка петље бити тачна. А
при наласку у петљу негативног броја,
променићемо њену вредност на False. Да
бисмо сазнали резултат провере,
прикажимо променљиву flag након петље
у конзоли:
lst = [1, 2, 3, 4, 5]
flag = True
for el in lst:
if el < 0:
flag = False
print(flag) # исписаће True, пошто су сви бројеви позитивни
Добра пракса је давање имена
променљивој са заставом које одражава
постављени услов. Хајде да преименујемо flag
у isAllPositive. И за јасније разумевање
променимо један број у листи на негативан:
lst = [1, 2, 3, -4, 5]
isAllPositive = True
for el in lst:
if el < 0:
isAllPositive = False
print(isAllPositive) # исписаће False, пошто постоји негативан број
Ако у листи коју прегледамо има много вредности
и потребно је зауставити петљу након откривања
првог негативног броја, онда треба
применити инструкцију break:
for el in lst:
if el < 0:
isAllPositive = False
break
При раду са заставама, да би се сазнао резултат
извршења петље, може се приказати не вредност
заставе, већ произвољна порука помоћу
додатног if.
Хајде да препишемо претходни пример. Ако
су сви елементи позитивни, нека се
испише '+++', ако не -
'---':
for el in lst:
if el < 0:
isAllPositive = False
break
if isAllPositive:
print('+++')
else:
print('---') # исписаће '---'
Дата је листа. Проверите да ли су сви њени елементи позитивни бројеви.
Дат је цео број. Проверите да ли је он прост, то јест да ли се дели само на јединицу и на самог себе.