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

Տրված է ամբողջ թիվ: Ստուգեք, արդյոք այն պարզ է, այսինքն՝ բաժանվում է միայն մեկի և ինքն իր վրա: