Работа со знамиња во Python
Знаме - е специјална променлива,
која може да земе само две вредности:
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('---') # ќе испечати '---'
Дадена е листа. Проверете дали сите нејзини елементи се позитивни броеви.
Даден е цел број. Проверете дали е прост, односно дали се дели само на единица и на самиот себе.