Работа со знамиња во Python

Знаме - е специјална променлива, која може да земе само две вредности: True или False. Со помош на знамиња може да се решаваат задачи кои проверуваат отсуство на нешто: на пример, може да се провери дали во листата нема елемент со одредена вредност.

Ајде да ја решиме следнава задача: дадена е листа со броеви, треба да се провери дали сите елементи во неа се позитивни. За ова ќе поставиме специјална променлива flag, која пред почетокот на циклусот ќе биде вистинита. А при наидување на негативен број во циклусот, ќе ја смениме нејзината вредност на False. За да го дознаеме резултатот од проверката, ќе ја испечатиме променливата flag по циклусот во конзола:

pythonlst = [1, 2, 3, 4, 5]
flag = True

for el in lst:
  if el < 0:
    flag = False
    
print(flag) # ќе испечати True, бидејќи сите броеви се позитивни

Добра практика е да се даде на променливата со знаме име кое го одразува зададениот услов. Ајде да го преименуваме flag во isAllPositive. И за погледност да смениме еден број од листата на негативен:

pythonlst = [1, 2, 3, -4, 5]
isAllPositive = True

for el in lst:
  if el < 0:
    isAllPositive = False
    
print(isAllPositive) # ќе испечати False, бидејќи има негативен број

Ако во листата која се пребарува има многу вредности и треба да се запре циклусот по откривање на првиот негативен број, тогаш треба да се примени инструкцијата break:

pythonfor el in lst:
  if el < 0:
    isAllPositive = False
    break

При работа со знамиња, за да се дознае резултатот од извршувањето на циклусот, може да се испечати не вредноста на знамето, туку произволна порака со помош на дополнителен if.

Ајде да го преработиме претходниот пример. Ако сите елементи се позитивни, тогаш нека се испечати '+++', ако не - '---':

pythonfor el in lst:
  if el < 0:
    isAllPositive = False
    break

if isAllPositive:
  print('+++')
else:
  print('---') # ќе испечати '---'
Задание 1

Дадена е листа. Проверете дали сите нејзини елементи се позитивни броеви.

Задание 2

Даден е цел број. Проверете дали е прост, односно дали се дели само на единица и на самиот себе.